1

我有兴趣支持将 docker 用作本地工作流程的一部分的开发人员。他们中的大多数都在 Windows 和 OSX 上,并且会使用Boot2Docker来运行 docker。

图像源位于项目源代码旁边的主机上。

没有办法(不弄乱Boot2Docker映像来添加来宾添加,或运行 samba 容器)将主机目录共享到Boot2Docker VM,所以我想使用远程 API 来获得相同的效果。

即 dev 在主机上构建 maven 项目,这会导致创建 .war 工件。

在主机上创建 Dockerfile 以构建可以部署该 .war 工件的映像。

我想要一个可以在主机上运行的命令行工具,它可以让我针对该Dockerfile和相关文件调用构建映像命令,以便我在Boot2Docker VM 中获得一个可运行的映像。

有多种库可以与 docker remote api 通信,但我无法找到可以直接从主机命令行运行的工具。

我正在考虑只为docker-java库编写自己的命令行界面,但想知道是否有可以使用的现有工具?

4

1 回答 1

1

我认为您错过了 boot2docker 不仅提供了 VM,还提供了可以连接到它的二进制文件(请参阅OSXWindowsdocker的 Boot2Docker 文档中的运行 Docker 部分。

cli(在docker所有平台上)只是与 docker 守护进程通信。默认设置是通过本地 unix 套接字进行通信,这被认为更安全,但 boot2docker 配置为侦听 VM 上的 TCP 套接字,该套接字已预先配置为可从主机访问。

在启动最近的 boot2docker 版本(至少在 OSX 上)时,您会收到此消息,其中包含您需要的唯一配置:

$ boot2docker up
2014/07/05 18:23:01 Waiting for VM to be started...

2014/07/05 18:23:02 Started.
2014/07/05 18:23:02 To connect the Docker client to the Docker daemon, please set:
2014/07/05 18:23:02     export DOCKER_HOST=tcp://192.168.59.103:2375

如果我理解这个问题,这就是您所需要的,并且全部由 docker 和 boot2docker 提供。

于 2014-07-05T16:26:17.590 回答