Docker安装以及docker run hello-world 不能下载镜像报错

本文档详细介绍了如何在CentOS服务器上安装和配置Docker。首先,通过Yum删除旧版本,然后设置镜像源为阿里云,并安装Docker CE。接着,启动Docker并检查安装是否成功。在遇到镜像下载问题时,通过配置阿里云的镜像加速器解决。最后,展示了卸载Docker、删除相关目录和卷的步骤。确保Docker安装过程中使用正确的镜像源以避免下载问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方Docker 的文档地址
https://docs.docker.com/engine/install/centos/

以下的代码需要连接 Linux的Centos服务器,Xshell执行
1.删除之前的版本

 	yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.设置存储库 需要的安装包

yum install -y yum-utils

3.设置镜像(这里我用的是阿里云的镜像,默认是国外的太慢了)

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
https://pi9dpp60.mirror.aliyuncs.com 上面的网址最好用这个网址代替,这个是阿里云的个人镜像加速,上面的可能会出错,详情请向下看

4.安装最新版的Docker引擎 ce社区 ee企业

yum install docker-ce docker-ce-cli containerd.io

5.启动Docker

systemctl start docker

6.看看Docker是否安装

docker version

下图就是成功页面
在这里插入图片描述
7.hello world 测试

出现以下图片是正常
在这里插入图片描述
测试安装镜像

docker pull  mysql    就会安装mysql最新版本

但是!!!!!!我出现以下错误:

docker: Error response from daemon: Head https://registry-1.docker.io/v2/library/hello-world/manifests/latest: 
Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fhello-world%3Apull&service=registry.docker.io: read tcp 172.18.232.161:33136->54.165.240.225:443: read: connection reset by peer.
See 'docker run --help'.

意思就是镜像没弄好,我们需要配置下镜像加速器就好了。

我的是阿里云的服务器,登陆到控制台-容器镜像服务-镜像加速器
将里边的,代码一行一行执行即可,如下:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://pi9dpp60.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

卸载Docker

 sudo yum remove docker-ce docker-ce-cli containerd.io

删除目录和卷

 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

Docker所有的镜像都会在DockerHub上面下载。

### 解决方案 当尝试通过 `sudo docker run hello-world` 命令启动容器并遇到错误时,可能的原因包括网络连接问题、DNS解析失败或Docker配置不当。以下是几种常见情况及其对应的解决方案。 #### DNS解析失败 如果收到类似于“no such host”的错误消息,则可能是由于本地计算机无法正确解析域名造成的。可以考虑修改系统的 `/etc/resolv.conf` 文件来指定可靠的公共DNS服务器地址,例如Google提供的8.8.8.8[^3]。 ```bash echo 'nameserver 8.8.8.8' | sudo tee /etc/resolv.conf > /dev/null ``` #### 网络超时 对于TLS握手超时的情况,这通常意味着客户端与远程主机之间的安全通信建立过程出现了延迟或者中断。一种方法是增加环境变量中的HTTP(S)_PROXY设置以改善对外部资源访问的速度和稳定性;另一种更简单的办法是在国内环境中利用加速器服务提供商所提供的镜像站点作为替代源[^2]。 按照以下步骤操作: 1. 打开终端窗口; 2. 编辑Docker守护程序的JSON配置文件(一般位于`/etc/docker/daemon.json`),如果没有该文件则创建它; 3. 添加如下内容到此文件内: ```json { "registry-mirrors": ["https://hub.atomgit.com"] } ``` 4. 使用命令重启Docker服务使更改生效: ```bash sudo systemctl restart docker ``` 以上措施应该能够有效缓解因网络状况不佳而导致的问题,并允许顺利拉取所需的Hello World测试镜像
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值