是否有docker remote api命令行客户端

时间:2014-07-05 08:42:02

标签: java docker boot2docker

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

图像源与项目源代码一起位于主机上。

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

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

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

我想要一个命令行工具,我可以在主机上运行,​​让我可以针对 Dockerfile 和相关文件调用build image命令,这样我就可以在 Boot2Docker VM。

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

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

1 个答案:

答案 0 :(得分:1)

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

docker cli(在所有平台上)只与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提供的。