使用Jenkins构建Docker,使用Docker Build and Publish插件。程序编译过后,进入Dockerfile构建Docker报错,报错如下:
[OppDocker] $ /usr/bin/docker build -t localhost:5000/oppdocker:57 --pull=true /var/lib/jenkins/workspace/OppDocker
Sending build context to Docker daemon 644MB
Step 1/7 : FROM openjdk:8-jre-alpine
Get https://registry-1.docker.io/v2/library/openjdk/manifests/8-jre-alpine: unauthorized: incorrect username or password
Build step 'Docker Build and Publish' marked build as failure
Finished: FAILURE
但是在本地使用docker build -t等命令是没有问题的,在Jenkins中使用shell命定(同样是docker build命令)都不会有问题。
想问一下docker大神,如何解决,其原理是什么?
补充一下:
- jenkins用户已经在Docker这个用户组里了
- 运行环境:Ubuntu 16.04
再次补充:
刚刚看到有可能需要docker login,我去docker hub注册了账号,在本机命令行下用docker login命令输入docker id和相应密码,仍旧不行……
这和docker没半毛钱的关系。因为jenkins使用了低权限账户运行服务,自然没权限管理docker。如果你希望jenkins账户能管理docker,使用
useradd -a -G docker jenkins
命令把jenkins用户加入docker这个用户组就可以了