进入新的一周。最近我有很多旅行,而且不会很快停止。但我有时间试用 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 运行。