Docker容器

Jenkins docker push到harbor报错

本文主要是介绍Jenkins docker push到harbor报错,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Jenkins docker push到harbor私服报错解决方法

Jenkins报错

Jenkinsfile中使用docker push到私服的时候报错,报错信息如下:

unauthorized: unauthorized to access repository: ocp/eureka-server, action: push: unauthorized to access repository: ocp/eureka-server, action: push

这是因为jenkins在推送镜像的时候使用的是jenkins的伪用户,那么既然要推送就要登录,那么首先在当前用户生成config.json

当前用户使用docker login生成config.json

当前用户下使用如下命令进行登录

docker login ip:port

输入用户名和你们之后在当前用户根目录的.docker目录下生成一个config.json文件,内容如下:

[wangxianfeng@hs ~]$ cat /root/.docker/config.json 
{
        "auths": {
                "harbor.aiuyo.com:643": {
                        "auth": "d2FuZ3hpYW5mZW5nOlhpYW5mZW5nOTk="
                }
        }
}

把.docker复制到/var/lib/jenkins目录下

  1. 使用root登录后
  2. 将/用户名/.docker/目录拷贝到/var/lib/jenkins下
  3. 修改文件夹权限 chown -R jenkins.jenkins .docker

 

cp -r /root/.docker/ /var/lib/jenkins/
cd /var/lib/jenkins/
chown -R jenkins.jenkins .docker

本人是这个原因,修改后是可以推送的

这篇关于Jenkins docker push到harbor报错的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!