在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库
1.jenkins主机上的docker配置
先在Jenkins主机的docke上配置上Harbor私有仓库地址
cat /etc/docker/daemon.json
{
"insecure-registries": ["https://192.168.75.12"]
}
然后手动输入如下命令登陆进行测试:
docker login http://192.168.75.12
# 输入账号密码
# 第一次登陆成功后,会把账号信息存储到文件中/root/.docker/config.json,下次再登陆的时候就不用输入账号和密码了
2. jenkins配置
报错信息:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/auth: dial unix /var/run/docker.sock: connect: permission denied
分析:
jenkins操作界面的shell命令使用的用户是jenkins用户,但是需要访问到docker的文件,没有相关权限造成的,采用最简单的办法,修改相关文件的权限,使jenkins用户可以进行访问
chmod 777 /var/run/docker.sock