我遇到了以下问题:我创建了一个Jenkins docker容器,并将主机上的docker socket与容器相连 . 像这样:
docker run -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 -p 50000:50000 -d --name jenkins --restart unless-stopped jenkins
然后当我尝试在jenkins上创建一些工作时,我得到通常的“许可被拒绝”消息:
尝试在unix上连接到Docker守护程序套接字时获得权限被拒绝:///var/run/docker.sock:获取http://%2Fvar%2Frun%2Fdocker.sock/v1.29/images/json:dial unix /var/run/docker.sock:connect:权限被拒绝
但是,如果我附加到容器并使用root用户运行命令,则不会发生此问题 .
我怎样才能解决这个问题?
我无法通过运行 sudo gpasswd -a jenkins docker
将jenkins用户添加到主机上的docker组(因为主机上没有jenkins用户,仅在容器中)并且我也可以_t29033_t了解任何docker组) . 有关如何解决这个问题的任何提示?
1 回答
您可以在容器内添加docker组 . 在它的bash中执行此操作:
找出在主机中运行它的
<docker-group-id>
:然后将jenkins用户添加到docker组:
考虑到这可能产生的任何安全问题:
请参阅docs