Jenkins:无法执行来自 jenkins 的 docker 命令

Jenkins : cannot exectute docker commands from jenkins

我无法从 jenkins 执行任何 docker 命令并收到以下错误,

+ sudo docker pull ubuntu
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/library/ubuntu/manifests/latest: unauthorized: incorrect username or password
Build step 'Execute shell' marked build as failure
Finished: FAILURE

我尝试过的东西

1 ) jenkins 用户是 Jenkins master

上 docker 组的一部分
ubuntu@ip-10-20-10-106:/tmp$ groups jenkins
   jenkins : jenkins sudo docker

2 ) docker 版本

ubuntu@ip-10-20-10-106:/tmp$ docker --version
Docker version 19.03.6, build 369ce74a3c

如何解决这个问题?

从错误来看,docker 注册表似乎需要身份验证。如果它从命令行为您工作并且在您切换到主机箱上的 Jenkins 用户时不工作,那么这意味着 Jenkins 在连接到 docker 注册表时需要对自己进行身份验证。只需 sudo 给 Jenkins 用户,然后 运行 docker login 命令。成功验证后,您就可以开始了。