docker run hello-world失败、报错

若终端输出类似以下信息,一般是docker镜像源未设置或有问题

bash 复制代码
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

解决方案:

bash 复制代码
# 1. 停止 Docker 服务(避免占用)
sudo systemctl stop docker

# 2. 修改配置文件,添加镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
      "registry-mirrors": [
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
	"https://docker.xuanyuan.me",
	"https://mirror.ccs.tencentyun.com",
	"https://mirror.huaweicloud.com",
	"https://docker.1ms.run"
    ]
}
EOF

# 3. 重新加载系统配置,重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

# 4. 查看 Docker 信息
docker info
# 终端输出的Registry Mirrors就是配置好的镜像源
Client: Docker Engine - Community
 Version:    27.0.3
 Context:    default
 Debug Mode: false
...
...
...
 Registry Mirrors:
  https://do.nark.eu.org/
  https://dc.j8.work/
  https://docker.m.daocloud.io/
  https://dockerproxy.com/
  https://docker.mirrors.ustc.edu.cn/
  https://docker.nju.edu.cn/
  https://docker.xuanyuan.me/
  https://mirror.ccs.tencentyun.com/
  https://mirror.huaweicloud.com/
  https://docker.1ms.run/
 Live Restore Enabled: false
 
# 5. 重新运行docker run hello-world
docker run hello-world
# 如果一切顺利,会输出以下信息
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
17eec7bbc9d7: Pull complete 
Digest: sha256:f7931603f70e13dbd844253370742c4fc4202d290c80442b2e68706d8f33ce26
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
相关推荐
csdn_aspnet2 分钟前
使用 Docker 和 RedisInsight 设置 Redis 以进行本地开发
redis·docker·容器·redisinsight
西西弗Sisyphus42 分钟前
理解 Linux 动态库加载:LD_LIBRARY_PATH
linux
AR-26710-43 分钟前
Linux Day31——实操启停服务改端口重启
linux·运维
叼烟扛炮1 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
叼烟扛炮1 小时前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
星恒随风2 小时前
Linux网络编程:彻底理解IO多路复用select!从fd_set位图、读写就绪到手写TCP多客户端字典服务器
linux·服务器·网络
陈布衣3 小时前
MySQL(1)_MySQL 5.7.21 Linux 安装笔记
linux·笔记·mysql
Oiiouui5 小时前
linux服务器部署Logto后端与对应前端的实现
linux·服务器·前端·后端
余槐i5 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
ITKEY_5 小时前
用 Emacs Dired 实现 em:退出文件管理器后,让终端自动切换目录
linux·服务器·emacs