当前位置: 首页 > news >正文

Ubuntu 安装的docker-compose拉取镜像失败问题处理办法

Ubuntu 安装的docker-compose拉取镜像失败问题处理办法

文章目录

  • 一、第一步: 检查并清理代理配置
  • 二、第二步: 检查Docker服务的代理配置
  • 三、第三步: 检查DNS配置
  • 四、第四步: 使用国内镜像加速器
  • 五、第五步: 检查防火墙
  • 六、第六步: 禁用 IPv6
  • 七、第七步: 增加 Docker 的超时设置
  • 七、总结


一、第一步: 检查并清理代理配置

首先检查系统环境变量中是否设置了代理:

env | grep -i proxy

如果输出中包含 http_proxy=http://127.0.0.1:80 或类似的设置,你需要清除这些环境变量。临时清除可以使用

unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY

要永久移除这些配置,请检查以下文件并删除相关的代理设置行:
~/.bashrc

~/.profile

/etc/environment

二、第二步: 检查Docker服务的代理配置

sudo systemctl show docker --property Environment

如果输出显示了代理设置(如 Environment=HTTP_PROXY=http://127.0.0.1:80),你需要清除这些配置,使用命令如下

# 检查并删除Docker的代理配置文件
sudo rm -f /etc/systemd/system/docker.service.d/http-proxy.conf# 重新加载systemd配置并重启Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

三、第三步: 检查DNS配置

DNS解析问题也可能导致连接失败

cat /etc/resolv.conf

确保DNS服务器(如你的默认路由 192.168.233.2)能正确解析域名。你可以尝试添加一个可靠的公共DNS作为备用

# 在/etc/resolv.conf文件中添加Google公共DNS
nameserver 8.8.8.8

同时,修改Docker的DNS配置以确保它使用正确的DNS服务器:

# 创建或编辑Docker的daemon.json文件
sudo nano /etc/docker/daemon.json

添加以下内容(如果文件已存在,只需添加dns项):

{"dns": ["192.168.233.2", "8.8.8.8"]
}

四、第四步: 使用国内镜像加速器

由于网络连接问题,直接从Docker Hub拉取镜像可能较慢或不稳定。你可以配置国内镜像加速器来改善体验

# 编辑Docker的daemon.json文件
sudo nano /etc/docker/daemon.json

用vim 也行
添加或合并以下内容(将registry-mirrors替换为你的加速器地址):

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"]
}

重启Docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

五、第五步: 检查防火墙

如果你的系统启用了防火墙或安全软件,可能会阻止Docker 访问外部服务器。你可以暂时禁用防火墙,测试是否为防火墙问题

暂时禁用UFW(Ubuntu 防火墙):


sudo ufw disable

六、第六步: 禁用 IPv6

在某些网络环境中,IPv6 可能导致连接问题。你可以尝试禁用 Docker 中的 IPv6 配置。

编辑Docker 配置文件 /etc/docker/daemon.json:


sudo nano /etc/docker/daemon.json

添加或修改以下内容:


{
"ipv6": false
}

保存并退出,重启Docker 服务:


sudo systemctl restart docker

七、第七步: 增加 Docker 的超时设置

有时网络较慢会导致连接超时,增加Docker 的超时时间可能有助于解决问题。可以在 Docker 配置文件中增加超时设置。

编辑/etc/docker/daemon.json 文件


sudo nano /etc/docker/daemon.json

添加以下配置


{
"max-concurrent-downloads": 3,
"features": {
"buildkit": true}
}

保存并退出,然后重启Docker:


sudo systemctl restart docker

七、总结

笔者最终/etc/docker/daemon.json 文件的内容为

{"registry-mirrors": ["https://docker.m.daocloud.io","https://mirror.ccs.tencentyun.com","https://docker.1ms.run","https://dockerproxy.net","https://.mirror.aliyuncs.com"],"ipv6": false,"max-concurrent-downloads": 3,"features": {"buildkit": true}
}

/etc/resolv.conf 内容为

nameserver 127.0.0.53 #默认就有
options edns0 trust-ad #默认就有
search localdomain #默认就有
nameserver 8.8.8.8
nameserver 8.8.4.4
http://www.dtcms.com/a/391159.html

相关文章:

  • 第35篇:AI前沿:具身智能(Embodied AI)与通用人工智能(AGI)
  • LangChain 入门到精通企业项目实践之 LangChain 聊天模型
  • crush情感分析项目01
  • 免费插件分享 | Missing References Search
  • ECU OTA测试
  • Jenkins运维之路(Slave容器节点)
  • Amazon Lambda + API Gateway 实战,无服务器架构入门
  • 芯片管脚的源电流与漏电流
  • Django+ARIMA微博舆情预警系统 SnowNLP情感分析 Echarts可视化 机器学习 大数据项目✅
  • SIMetrix 8.30仿真蓝牙天线上的无源滤波器
  • [x-cmd] 升级 x-cmd 指南
  • AXI4-Stream总线流控握手实战经验总结
  • RAWSim-O-main项目Trae解析
  • react固定容器标签超出n+展示
  • ​​HarmonyOS应用开发:从入门到实战的完整指南​
  • QT与GTK生态最新进展及特性对比(2025年)
  • 包管理器分析
  • XC7K325T-2FBG676I Xilinx AMD Kintex-7 FPGA
  • FPGA入门-红外遥控
  • qml实现多页面切换显示的导航栏
  • 20250919的学习笔记
  • iOS 26 游戏测试实战,兼容性、帧率、GPU 性能与 Liquid Glass 动效在游戏中的影响(游戏开发与 uni-app 场景指南)
  • kind部署K8S集群并将“修仙业务“部署到kind集群
  • 《C++程序设计》笔记p2
  • 第1章:项目前言
  • 实现类似word 文档下划线输入功能
  • AR技术赋能高风险作业:重塑安全与效率
  • Axure-图片旋转人机验证
  • web:ts中class、interface、type的区别
  • css中的vm和vh,页面滚动的卡片网页