Docker 提供可以两种方式管理的镜像:使用脚本文件构建/创建自己的镜像或从在线公共或专用注册表中下拉存在的镜像文件。本过程包含从 JBoss 注册表中下拉镜像的说明。此类注册表可用于在开发人员或环境之间共享镜像以确保标准化软件栈,以满足开发或测试要求。一旦创建并运行 Docker 容器,用户就可以管理容器。
JBoss Tools 4.3.0 Beta1 直接附带了 Docker 工具。本文介绍了 Docker 工具的基本用法,例如
1. Docker 工具的先决条件
使用 IDE 中的 Docker 工具时,请确保满足以下先决条件
-
安装并设置 JBoss Tools 4.3.0 Beta1 或更高版本。
-
安装并设置 Docker。
-
按照以下步骤在 JBoss Tools 中建立与 Docker 守护进程的连接
-
单击
。 -
在
视图
窗口中,在过滤器文本框中输入 docker 以在列表中查看与 Docker 相关的选项。 -
展开结果中的
Docker
项并选择Docker 浏览器
。 -
在
Docker 浏览器
视图中,如果未配置连接,则会显示一条消息,指出 “不提供与 Docker 守护进程的连接。单击此链接以创建新连接...”。单击此链接开始配置新的 Docker 守护进程连接。图 1. 不提供与 Docker 守护进程的连接 -
在
连接到 Docker 守护进程
向导中-
在
连接名称
字段中使用默认值或设置所需的连接名称。 -
选中
使用自定义连接设置
字段。 -
添加主机的相关套接字信息。如果您不确定此步骤,请使用默认 Unix 套接字位置值。
-
单击
测试连接
以测试连接。 -
成功建立连接后,将显示以下消息
图 2. Ping 成功消息 -
此消息指示已成功建立 Docker 守护程序连接。
-
-
2. 从 Docker 注册表拉取 Docker 镜像
以下说明详细介绍如何从 JBoss 注册表拉取新的 WildFly Docker 镜像。
-
单击
。 -
在筛选文本框中键入 Docker 以查看列表中与 Docker 相关的选项。
-
展开
Docker
条目并双击Docker Images
。 -
在
Docker Images
视图的列出条目中,找到以 wildfly:latest 结尾的条目。如果未列出此条目,请按如下方式拉取 Wildfly 镜像-
单击
Docker Images
视图顶部栏上的拉取镜像图标。 -
在结果向导中,键入 jboss/wildfly 并单击完成。
图 3. 从 JBoss 注册表拉取 WildFly 镜像 -
从注册表拉取镜像时,右下角将显示进度。拉取过程完成后,相应的条目将按如下方式出现在 Docker Images 列表中
图 4. Docker WildFly 镜像结果:您现在已从 JBoss 注册表拉取了 Wildfly 的新镜像并运行了 Docker 镜像。
-
3. 管理 Docker 容器
Docker 容器是基于 Docker 镜像的隔离进程。创建后,用户可以停止、启动、暂停、取消暂停、终止或移除容器,或读取其日志。
-
单击
。 -
在筛选文本框中键入 Docker 以查看列表中与 Docker 相关的选项。
-
在搜索结果中,展开 Docker 条目并双击
Docker Containers
。 -
出现
Docker Containers
视图,其中显示了在 Docker 主机上运行的所有容器的列表。 -
单击所需的容器以选择它。您现在可以使用以下操作来管理您的容器
-
单击视图右上角图标中的暂停按钮以暂停容器。
-
单击行中的绿色三角形图标以取消暂停容器。
-
要查看容器日志,请右键单击容器名称并单击
显示日志
。 -
要查看所有容器的列表,请单击视图中图标列表最右边的图标,其中显示了一个用于查看所有容器的下拉选项。单击此选项以查看所有可用容器。
-
结果:您已对 Docker 容器执行了各种管理操作。
故障排除
尝试以非 root 用户身份连接到正在运行的本地 Docker 实例会导致错误被记录,而不是显示在用户界面中,从而导致错误不明确。针对此问题提供了以下解决方法
-
手动连接到 Docker 实例。定义一个自定义配置文件并指定 systemctl 状态 Docker 服务显示的 TCP URL。例如,您可以使用
tcp://0.0.0.0:2375
之类的 TCP URL 连接到正在运行的 Docker 实例,而不是默认的unix:///var/run/docker.sock
配置文件。图 5. 连接到 Docker 守护程序 -
以 root 身份运行 Eclipse。此解决方案可以避免问题,但不是推荐的解决方案。