詹金斯:无法从詹金斯执行docker命令

詹金斯:无法从詹金斯执行docker命令,docker,jenkins,jenkins-docker,Docker,Jenkins,Jenkins Docker,我无法执行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 she

我无法执行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 user时不工作,那么这意味着Jenkins在连接到docker注册表时需要对自己进行身份验证。只需将
sudo
发送给Jenkins用户,然后运行
docker login
命令。成功进行身份验证后,就可以开始了。

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

从错误中可以看出,docker注册表似乎需要身份验证。你在这么做吗?怎么检查。。我可以在没有sudo访问的情况下运行docker命令你是说你可以从docker注册表中提取图像?如果是,则在主目录下,检查名为
.docker
的隐藏目录。如果docker注册表需要身份验证,则
.docker
dir中会有一个包含凭证的文件。当您运行
docker login
并提供凭证时,它会在您的home dir中创建此dir结构。Jenkins也需要类似的操作。我给Jenkins用户sudo访问权。。这是否足够?实际上不需要访问。如果您将运行
ps-ef | grep-i jenkins
,您将找到运行jenkins进程的
id
。一旦知道了这一点,只需切换到该用户,然后运行
docker login
命令。这将在该用户的主目录中创建必要的目录结构。然后您可以尝试运行Jenkins作业。从错误来看,docker注册表似乎需要身份验证。你在这么做吗?怎么检查。。我可以在没有sudo访问的情况下运行docker命令你是说你可以从docker注册表中提取图像?如果是,则在主目录下,检查名为
.docker
的隐藏目录。如果docker注册表需要身份验证,则
.docker
dir中会有一个包含凭证的文件。当您运行
docker login
并提供凭证时,它会在您的home dir中创建此dir结构。Jenkins也需要类似的操作。我给Jenkins用户sudo访问权。。这是否足够?实际上不需要访问。如果您将运行
ps-ef | grep-i jenkins
,您将找到运行jenkins进程的
id
。一旦知道了这一点,只需切换到该用户,然后运行
docker login
命令。这将在该用户的主目录中创建必要的目录结构。然后你可以试着做詹金斯的工作。