【发布时间】:2020-04-12 09:22:10
【问题描述】:
我无法从 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) 泊坞窗版本
ubuntu@ip-10-20-10-106:/tmp$ docker --version
Docker version 19.03.6, build 369ce74a3c
如何解决这个问题?
【问题讨论】:
-
从错误中,似乎 docker 注册表需要身份验证。你这样做吗?
-
如何检查.. 我可以在没有 sudo 访问权限的情况下运行 docker 命令
-
您的意思是您可以从 docker 注册表中提取图像?如果是,则在您的主目录下,检查名称为
.docker的隐藏目录。如果您的 docker 注册表需要身份验证,那么.docker目录中将有一个文件,其中包含凭据。当您运行docker login并提供您的凭证时,它会在您的主目录中创建此目录结构。 Jenkins 也需要采取类似措施。 -
我给 jenkins 用户 sudo 访问权限.. 够了吗
-
sudo 访问实际上不是必需的。如果您将运行
ps -ef | grep -i jenkins,您将找到运行Jenkins 进程的id。一旦你知道了,只需切换到该用户,然后运行docker login命令。这将在该用户的主目录中创建必要的目录结构。然后你可以尝试运行 Jenkins 作业。
标签: docker jenkins jenkins-docker