无法在本地找到图像“ hello-world:latest”

时间:2020-04-13 08:22:23

标签: docker

我已按照ubuntu的官方安装步骤在机器中安装了docker。在验证步骤中失败。

当我运行命令:docker run hello-world时,它会引发以下错误消息:

Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry- 
1.docker.io/v2/: net/http: request canceled while waiting for 
connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.  

下面是我的机器的docker详细信息。

Client: Docker Engine - Community
Version:           19.03.6
API version:       1.40
Go version:        go1.12.16
Git commit:        369ce74a3c
Built:             Thu Feb 13 01:27:49 2020
OS/Arch:           linux/amd64
Experimental:      false
Got permission denied while trying to connect to the Docker daemon socket at 
unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/version: dial unix 
/var/run/docker.sock: connect: permission denied

如果我尝试获取docker info,则会收到以下消息:

客户: 调试模式:false

服务器: 错误:尝试在unix:///var/run/docker.sock上连接到Docker守护进程套接字时,权限被拒绝。获取:http://%2Fvar%2Frun%2Fdocker.sock/v1.40/info:拨打unix /var/run/docker.sock:连接:拒绝权限 错误打印漂亮信息

4 个答案:

答案 0 :(得分:1)

首先检查docker是否正在使用

运行

sudo服务docker状态

如果它正在运行,那么您可能会错过将用户添加到Docker组的机会。要确认这一点,请尝试使用 sudo

的docker命令

如果您不想每次都使用 sudo ,请按照以下指南将您的用户添加到Docker组

Step 2 — Executing the Docker Command Without Sudo (Optional)

注意:您不能在WSL中运行Docker,即在Windows上运行Ubuntu,因此您需要按照适用于WSL使用Docker的完整步骤,为Windows安装Docker。

Setting Up Docker for Windows and WSL to Work Flawlessly

答案 1 :(得分:0)

泊坞窗的安装后步骤可能未执行。基本上,需要将当前使用的已登录帐户添加到docker组中。

只需按照docker文档中的说明进行操作-https://docs.docker.com/engine/install/linux-postinstall/

仅在重新启动ubuntu(在18.04中)之后,才进行FYA-组成员资格评估。因此,按照上面的链接后,重新启动ubuntu计算机。然后尝试docker images,应该可以解决报告的权限问题。

答案 2 :(得分:0)

当我将ubuntu 19.04升级到19.10然后重新安装时,此问题已解决。

答案 3 :(得分:0)

我在尝试修复以下错误时遇到了类似的问题,

<块引用>

root@neno88:/home/mohan# docker run hello-world 无法找到镜像 'hello-world:latest' 本地 docker:来自守护进程的错误响应:Get https://registry-1.docker.io/v2/:拨号 tcp:查找 10.187.215.112:53 上的 registry-1.docker.io:读取 udp 10.187.215.103:58777->10.187.215.112:53:读取:连接被拒绝。

所以,错误是由于我的企业设置中的代理造成的,守护进程请求被代理拒绝

错误的尝试修复它,(导致上述错误。) 我已将 registry-1.docker.io ip 添加到 /etc/hosts,但它导致了与此处 StackOverflow 中类似的错误。

<块引用>

root@neno88:/home/mohan# docker run hello-world 无法找到镜像 'hello-world:latest' 本地 docker:来自守护进程的错误响应:Get https://registry-1.docker.io/v2/:net/http:请求被取消 等待连接(等待时超出 Client.Timeout 头)。请参阅“docker run --help”。 root@neno88:/home/mohan#

正确的步骤: 如何解决,

  1. 只需将您的代理详细信息添加到 /etc/systemd/system/docker.service.d/proxy.conf(文件夹 docker.service.d 可能不存在,因此请先创建目录)
  2. 使用以下命令添加代理详细信息后,守护进程是否成功查看/读取您的环境变量。
<块引用>

$ sudo systemctl daemon-reload

<块引用>

$ sudo systemctl 重启 docker

<块引用>

$ systemctl show --property=环境泊坞窗

参考此文档:https://www.serverlab.ca/tutorials/containers/docker/how-to-set-the-proxy-for-docker-on-ubuntu/