让jenkins没有sudo运行docker工人
我想在Jenkins
上运行Docker
shell命令,如:
docker ps
使用任何插件可以做到吗? 由于jenkins不是一个user
,但一个服务帐户我怎么可以添加到docker group
?
以下方法为我运行没有任何插件的docker命令
而不是将jenkins用户添加到docker组,允许jenkins用户运行sudo命令而不用提示input密码,然后创build一个别名,以避免在jenkins slave的Dockerfile中出现sudo。 我不得不在连接到主机上运行的守护进程的容器中安装docker客户端。
## allowing jenkins user to run sudo commands RUN echo "jenkins ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers ## avoid typing sudo in command line RUN echo "alias docker='sudo docker '" >> /home/jenkins/.bashrc
(从这个答案采取: https : //askubuntu.com/a/477554 )
如果你在Ubuntu上运行,Jenkins直接在主机上运行(即不在Docker容器中):
添加泊坞窗组如果它不存在:
sudo groupadd docker
将用户“jenkins”添加到docker组:
sudo gpasswd -a jenkins docker
重新启动Docker守护进程:
sudo service docker restart
执行newgrp docker
或者注销/激活对组的更改。