在jenkins docker容器中执行docker host命令

Oub*_*ord 5 jenkins docker

我有一个运行jenkins的码头集装箱.我想在这个容器里面启动其他容器,所以在这个容器之外.

我试图用以下方式启动我的jenkins控制器:

docker run -v /var/run/docker.sock:/var/run/docker.sock  -v $(which docker):/bin/docker
Run Code Online (Sandbox Code Playgroud)

(如下所示:https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/)

但是当我在我的容器内部尝试运行Docker命令时,我会得到典型的消息

 FATA[0000] Get http://%2Fvar%2Frun%2Fdocker.sock/v1.18/containers/json: dial unix /var/run/docker.sock: 
connect: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS? 
Run Code Online (Sandbox Code Playgroud)

并没有办法在这个容器内运行docker命令..

我试过有没有--privileged = true,它仍然无法正常工作.

如果您有任何想法!

ycl*_*ian 0

遇到这种情况,首先看一下/var/run/docker.sock拨号情况。如果我没记错的话,您必须将您的jenkins用户放入docker组中才能访问套接字文件。

通过以用户身份登录 shell 来解决此问题也很好jenkins,而不是通过 Jenkins UI 进行故障排除。