CI&多克尔-IN-A-泊坞

时间:2016-05-25 14:16:48

标签: docker

我正在尝试将docker集成到我的CI平台中。在使用Docker-in-a-docker解决方案正常运行之后,我遇到了一位Docker维护人员的博客文章,他说我的CI不是使用Docker-in-a-docker解决方案,而是应该只需将/var/run/docker.sock挂载到我的CI容器。

  

https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/

     

简单地说,当你启动你的CI容器(Jenkins或其他),而不是与Docker-in-Docker一起攻击某些东西时,启动它:

     

docker run -v /var/run/docker.sock:/var/run/docker.sock ...

所以我尝试了这个。我运行了以下命令:

docker run -p 8080:8080 -p 50000:50000 -v /var/run/docker.sock:/var/run/docker.sock jenkins

使用jenkins作为我的CI容器。

运行上面的命令时,jenkins正常启动,我可以跳进容器,看看docker.sock文件位于/var/run/路径中。

但是,当我运行命令docker时,机器将返回以下消息:

bash: docker: command not found

根据作者的指示,是否有人知道我缺少什么才能完成这项工作?

我在新的CentOS 7盒子上使用Docker v. 1.11.1

提前致谢

1 个答案:

答案 0 :(得分:0)

今天想出来。只要将docker守护程序+依赖项添加到容器中,上述命令就会起作用。在我的情况下,我最终编写了一个简单的Dockerfile,其中还包括以下行:

RUN curl -sSL https://get.docker.com/ | sh

这在容器上安装了Docker,当我从容器中运行docker images时,我可以看到来自主机的所有图像。我现在能够使用容器中的所有docker命令。