在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库

时间:2023-03-09 03:41:59
在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配置

在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库

报错信息:

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

3. 操作成功截图

在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库

在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库