docker初认知- run hello-world报错的解决

设备信息:linux系统, ubuntu16.04

问题复现:

docker是当下很热门应用容器引擎,有兴趣的同学可以看这篇浅显易懂的教程玩一玩。那么回归正题,按照官网的教程安装完docker之后,出现了小小的问题:输入代码docker run hello-world报错:

docker: error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/fc/fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e/data?verify=1557478882-B3IuIwGdskoJAgoGLehIsXKMyFA%3D: net/http: TLS handshake timeout.
See 'docker run --help'.

问题分析:

因为docker的官方仓库被墙了,导致连接失败。

解决方案:

更换仓库为国内镜像源

解决过程

### 解决方案 当尝试通过 `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测试镜像。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值