我是码头工人的新手。我只是试着在我的本地机器(Ubuntu 16.04)上使用docker和Jenkins。
我用下面的管道脚本配置了一个新作业。
node {
stage('Build') {
docker.image('maven:3.3.3').inside {
sh 'mvn --version'
}
}
}
但是它失败了,错误如下:
在unix:///var/run/ Docker .sock试图连接到Docker守护进程套接字时被拒绝
方法01:—更安全的方法
sudo usermod -aG docker ${USER}
若要应用新的组成员资格,请从服务器注销并返回,或键入以下内容:
su - ${USER}
系统将提示您输入用户密码继续。
确认您的用户现在已添加到docker组,输入以下命令:
id -nG
方法02:-不建议用于公共部署(不安全)
chmod 777 /var/run/docker.sock
或使用
sudo chown root:docker /var/run/docker.sock
如果使用jenkins
用户jenkins需要添加到docker组中:
sudo usermod -a -G docker jenkins
然后重启詹金斯。
否则
如果你收到来自docker的消息而遇到堆栈溢出的问题,但你没有使用jenkins,那么错误很可能是一样的:你的非特权用户不属于docker组。
你可以:
sudo usermod -a -G docker [user]
在[user]所在的位置插入用户名。
你可以通过执行grep docker /etc/group命令来检查它是否成功,如下所示:
docker:x:998:[user]
在其中一行。
然后将您的用户组ID更改为docker(以避免不得不退出并再次登录):
newgrp docker