Docker pull 拉取镜像问题Error response from daemon: Get “https://registry-1.docker.io/v2/“: dial tcp: look

由于切换网络环境,在想搭建一个NGM的项目拉取镜像时发现无法正常拉取镜像;

该问题显示为网络或DNS解析问题;

1、检查网络连通性;

可以正常ping同,排除;

2、镜像源排查;

Docker 守护进程使用的镜像注册表镜像,这里使用了阿里云的镜像地址。这可以加快拉取镜像的速度,特别是在国外访问 Docker Hub 速度较慢的情况下。

排除;

3、DNS解析排查;

发现这里有一个不存在的IP

### 解决方案 当遇到 Docker 连接 `registry-1.docker.io` 出现 DNS 解析问题时,通常是因为本地系统的 DNS 配置不正确或无法正常工作。以下是详细的解决方案: #### 修改主机的 DNS 设置 可以通过修改 `/etc/resolv.conf` 文件来指定可靠的公共 DNS 服务器,例如 Google 的 `8.8.8.8` 或者国内常用的 `114.114.114.114`。 具体操作如下: 1. 打开终端并编辑 `/etc/resolv.conf` 文件: ```bash sudo nano /etc/resolv.conf ``` 2. 添加以下内容到文件顶部: ```plaintext nameserver 8.8.8.8 nameserver 114.114.114.114 ``` 注意:某些情况下,该文件可能被动态覆盖。如果发现更改无效,则可以尝试通过网络管理工具设置静态 DNS[^1]。 #### 使用 Docker 自带的 DNS 配置功能 另一种方法是让 Docker 使用自定义的 DNS 服务器而不是依赖于宿主机的配置。这可以在启动 Docker 守护进程时完成。 ##### 方法一:临时测试 运行容器时手动指定 DNS 参数: ```bash docker run --dns=8.8.8.8 --dns=114.114.114.114 -d -p 3018:3000 --name test imagename/imagename ``` ##### 方法二:永久生效 为了使此更改适用于所有容器,需调整 Docker 的守护程序配置文件(通常是 `/etc/docker/daemon.json`)。如果没有该文件则创建它,并加入以下内容: ```json { "dns": ["8.8.8.8", "114.114.114.114"] } ``` 保存后重启 Docker 服务以应用新设置: ```bash sudo systemctl restart docker ``` 以上两种方式都可以有效解决由于错误的DNS而导致的连接失败问题[^4]。 ### 测试验证 执行以下命令确认是否能够成功镜像: ```bash docker pull ubuntu:16.04 ``` 如果不再显示类似的错误消息,则说明问题已得到妥善处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵唯一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值