jenkins slave连接harbor认证的坑儿

简介: 原来 Registry 1.0 - Docker pre 1.6:认证文件为.dockercfg Registry 2.0 - Docker 1.6 and up:认证文件为.docker/config.json

昨天遇到的问题。

公司是docker运行jenkins master。

然后然后JNLP来操作jenkins slave。

jenkins slave也是docker方式运行。

slave里面跑的docker都是以docker out docker的方式映射到宿主slave的docker命令。


jenkins 2.7,新版本安装了pipeline插件。

并用yet another docker插件来制作docker镜像。

在docker push时,先需要harbor仓库认证。

写法如下:


withDockerRegistry(registry: [credentialsId: 'harbor_admin', url: 'http://harbor.paic.com.cn']) {
    // some block
}



这样的写法,生成的是.dockercfg认证这件,

然后,死活推不到harbor上去。

(将login生成的认证文件也挂到了slave的宿主机上)


找了N多网页,试了N多方面,都不行。

最好,只有自己在pipeline里写docker login 命令,才能生成正确的.docker/config.json文件。

然后,将这个config.json文件挂载到jenkins slave主机上正确的位置,就OK了。(因为docker out docker,,所以认证一定是宿主机的docker认证和操作命令)


/usr/local/docker/docker:/usr/bin/docker
/run/docker.sock:/run/docker.sock
/docker/jenkins_home/.m2/:/root/.m2/
/docker/home/docker/.docker:/home/jenkins/.docker



原来

Registry 1.0 - Docker pre 1.6:认证文件为.dockercfg

Registry 2.0 - Docker 1.6 and up:认证文件为.docker/config.json

http://mesosphere.github.io/marathon/docs/native-docker-private-registry.html



Use a Private Docker Registry with the Docker Containerizer

Registry 1.0 - Docker pre 1.6

To supply credentials to pull from a private registry, add a .dockercfg to the uris field of your app. The $HOMEenvironment variable will then be set to the same value as $MESOS_SANDBOX so Docker can automatically pick up the config file.

Registry 2.0 - Docker 1.6 and up

To supply credentials to pull from a private registry, add a docker.tar.gz file to the uris field of your app. The docker.tar.gz file should include the .docker directory and the contained .docker/config.json

目录
相关文章
|
7月前
|
Kubernetes jenkins 持续交付
在jenkins中连接kubernetes集群
在jenkins中连接kubernetes集群
|
8月前
|
弹性计算 jenkins 持续交付
|
7月前
|
Kubernetes jenkins Devops
jenkins+kubernetes+harbor+gitlab构建企业级devops平台
jenkins+kubernetes+harbor+gitlab构建企业级devops平台
|
7月前
|
Kubernetes jenkins Devops
kubernetes+jenkins+harbor+gitlab构建企业级devops平台
kubernetes+jenkins+harbor+gitlab构建企业级devops平台
|
自然语言处理 Kubernetes jenkins
devops-k8s部署jenkins和动态创建slave节点
1. K8S部署jenkins 2. 动态创建slave集群节点 3. 使用PodTemplate构建流水线
devops-k8s部署jenkins和动态创建slave节点
|
12月前
|
Cloud Native jenkins 应用服务中间件
云原生下的CICD-3件套快速搭建合集:jenkins+harbor+gitlab
云原生下的CICD-3件套快速搭建合集:jenkins+harbor+gitlab
115 0
|
jenkins Linux 持续交付
Jenkins的权限控制和Rundeck的远程认证
Jenkins的权限控制和Rundeck的远程认证
115 0
|
安全 Java jenkins
Jenkins 解决Jenkins下java无法运行slave-agent jnlp程序连接Windows Slave主机
Jenkins 解决Jenkins下java无法运行slave-agent jnlp程序连接Windows Slave主机
240 0
|
Kubernetes jenkins 持续交付
jenkins slave节点运行在kubernetes构建mvn环境报错:java.io.IOException: Timed out waiting for websocket connectio
jenkins slave节点运行在kubernetes构建mvn环境报错:java.io.IOException: Timed out waiting for websocket connectio
206 0
|
网络协议 Java jenkins
jenkins踩过的坑之--节点连接
之前Jenkins的master节点要管理其他节点的话,在以往的博客或者各类视频的教程中,都会出现一种方式,那就是:Launch agent via Java Web Start。
jenkins踩过的坑之--节点连接