在 OpenShift Origin 上运行 WildFly Docker 镜像

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

进入新的一周。最近我有很多旅行,而且不会很快停止。但我有时间试用 OpenShift Origin 并在我的 Windows 环境中运行它。几天前有一篇入门级博客文章如何设置所有内容。现在是时候在其上运行一个普通的 Docker 镜像了。

先决条件

启动并运行您的 Origin 安装 。并确保在本地安装 OpenShift 二进制文件。在我发帖几天后,OpenShift 团队在一个单独的、开发人员友好且美观的网站上发布了多合一虚拟机。所以,你只需要记住这个地址:http: //www.openshift.org/vm/

启动您的 OpenShift 环境

这是一个单一的 vagrant up 命令。如果成功,您应该能够通过浏览器访问本地管理控制台 http://localhost:8443/ 并从命令行使用客户端工具登录:


 oc login http://localhost:8443

使用 admin/admin 作为用户名/密码。

创建项目并运行 WildFly

首先要做的是创建一个新的 OpenShift 项目。我们想将其与默认值分开一点。最后,将其视为一个名称空间,我们可以在其中稍微玩一下:


 oc login http://localhost:8443

OpenShift 不直接公开 Docker 守护进程。因此,您需要使用 oc 命令行工具来运行图像。有一些(不受支持的)JBoss 社区图像可用并列在 http://www.jboss.org/docker/ 上。我有兴趣为此测试运行最新的 WildFly 9。


 oc login http://localhost:8443

如果您查看 Web 控制台,您会看到部署正在运行并且 Docker 映像已被拉取。


根据您的连接,这可能需要一些时间。但是当它完成时,您会看到一个绿色的条,上面写着“正在运行”并且还显示了一个 IP 地址。让我们看看,是否一切顺利,WildFly 实例是否启动并运行。我们确实需要查看 pod 的日志。让我们列出它们:


 oc login http://localhost:8443

并查看日志:


 oc login http://localhost:8443

请注意,pod 名称在您的环境中很可能会有所不同。该命令应按照您习惯的方式输出 WildFly 日志。现在,我们有一个正在运行的 pod。现在我们需要通过服务向外部世界公开此 pod 的端口。但首先我们需要决定,我们想通过哪个域名公开它。使用以下条目添加/更改主机文件:


 oc login http://localhost:8443

并执行以下命令为服务添加外部路由:


 oc login http://localhost:8443

浏览到控制台中的服务选项卡,查看是否为该服务创建了路由。

现在唯一要做的就是在 VirtualBox 控制台中更改端口转发规则。将端口 80 从主机添加到来宾。

故障排除

如果您运行的不是 all-in-on-vm 以外的任何东西,例如 fabric8 vagrant image ,您将需要更改 OpenShift 中的安全设置 。 SSH 进入实例,通过 oc 命令行登录并编辑安全设置:


 oc login http://localhost:8443

将 runAsUser.Type 策略更改为 RunAsAny。如果 Dockerfile 中没有指定 USER,这允许图像作为根 UID 运行。

相关文章