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

Docker加速下载镜像的配置指南

docker 加速下载

docker 下载会比较慢,即使挂了代理,在 Ubuntu 桌面环境的系统设置了启用网络代理(例如在 “Settings” -> “Network” -> “Network Proxy” 中设置的 HTTP/HTTPS 代理)也会很慢,这是因为代理并没有真正的生效,需要专门针对性的配置 docker 的代理。

原因如下:

  1. 独立的服务进程:Docker 守护进程 (dockerd) 是一个由 systemd 管理的后台系统服务。它在系统启动时运行,通常以 root 用户身份运行,并且不会继承你用户会话的环境变量
  2. 环境变量隔离:即使你的 shell 终端里 echo $https_proxy 能看到代理设置,这个变量只存在于你的用户会话中,Docker 守护进程的运行环境中是看不到的。

1. 查询当前 Shell 会话的环境变量

这是查询当前用户命令行环境中代理设置的最直接方法。

# 查询 HTTP 代理
echo $HTTP_PROXY
# 或 (注意大小写,有时是小写)
echo $http_proxy# 查询 HTTPS 代理
echo $HTTPS_PROXY
# 或
echo $https_proxy# 查询不需要代理的地址列表
echo $NO_PROXY
# 或
echo $no_proxy

说明

  • 如果你在 Ubuntu 设置中配置了代理,并且该设置被正确应用到了你的用户会话(例如通过 GNOME 的 gsettings),那么在你打开的终端中,这些环境变量通常会被自动设置。
  • 这个设置只对当前终端及其启动的程序有效systemd 服务(如 Docker)通常不会读取这些变量。

2. 检查 Docker 守护进程的环境变量:

sudo systemctl show docker --property=Environment

如果输出是空的或者不包含 HTTP_PROXYHTTPS_PROXY,那就说明 Docker 守护进程没有配置代理。


如果方法 1 有输出,如:

erge@erge-Lenovo-Legion-Y7000-1060:~$ # 查询 HTTP 代理
erge@erge-Lenovo-Legion-Y7000-1060:~$ echo $HTTP_PROXY
http://127.0.0.1:7890/
erge@erge-Lenovo-Legion-Y7000-1060:~$ # 或 (注意大小写,有时是小写)
erge@erge-Lenovo-Legion-Y7000-1060:~$ echo $http_proxy
http://127.0.0.1:7890/
erge@erge-Lenovo-Legion-Y7000-1060:~$
erge@erge-Lenovo-Legion-Y7000-1060:~$ # 查询 HTTPS 代理
erge@erge-Lenovo-Legion-Y7000-1060:~$ echo $HTTPS_PROXY
http://127.0.0.1:7890/
erge@erge-Lenovo-Legion-Y7000-1060:~$ # 或
erge@erge-Lenovo-Legion-Y7000-1060:~$ echo $https_proxy
http://127.0.0.1:7890/
erge@erge-Lenovo-Legion-Y7000-1060:~$
erge@erge-Lenovo-Legion-Y7000-1060:~$ # 查询不需要代理的地址列表
erge@erge-Lenovo-Legion-Y7000-1060:~$ echo $NO_PROXY
localhost,127.0.0.0/8,::1
erge@erge-Lenovo-Legion-Y7000-1060:~$ # 或
erge@erge-Lenovo-Legion-Y7000-1060:~$ echo $no_proxy
localhost,127.0.0.0/8,::1
erge@erge-Lenovo-Legion-Y7000-1060:~$

而方法 2 没有输出,说明 Docker 守护进程没有配置代理。


配置 docker 的代理

上面已经查出了代理的设置,需要将其写入 docker 的配置文件中。

🔧 步骤 1:为 Docker 创建 systemd 代理配置文件

打开终端,执行以下命令:

# 创建配置文件目录
sudo mkdir -p /etc/systemd/system/docker.service.d# 创建并编辑代理配置文件
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

✏️ 步骤 2:写入代理配置

在打开的 http-proxy.conf 文件中,粘贴或输入以下内容:

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.0/8,::1,*.local,*.internal"

🔁 步骤 3:应用配置并重启 Docker

保存文件并退出编辑器(在 nano 中,按 Ctrl+O 保存,按 Enter 确认,然后按 Ctrl+X 退出)。

然后执行:

# 重新加载 systemd 配置
sudo systemctl daemon-reload# 重启 Docker 服务,使新配置生效
sudo systemctl restart docker

✅ 步骤 4:验证配置是否成功

再次运行你之前用过的命令来检查 Docker 服务的环境变量:

sudo systemctl show docker --property=Environment

你应该看到类似这样的输出:

Environment=HTTP_PROXY=http://127.0.0.1:7890 HTTPS_PROXY=http://127.0.0.1:7890 NO_PROXY=localhost,127.0.0.0/8,::1,*.local,*.internal

🚀 步骤 5:测试 Docker 拉取

现在,尝试拉取镜像,速度应该会快很多:

docker pull ghcr.io/autowarefoundation/autoware:universe

image 拷贝:导出为 tar 文件

这是最通用的方法,将镜像保存为一个 .tar 文件,然后可以拷贝到 U 盘、另一台机器或通过网络传输。

  1. 导出(保存)镜像
    在你已经 docker pull 下载了镜像的机器上运行:

    docker save -o autoware_universe.tar ghcr.io/autowarefoundation/autoware:universe
    
    • 这会创建一个名为 autoware_universe.tar 的文件,包含了完整的镜像数据(包括所有层和元数据)。
    • 你也可以使用镜像的 IMAGE ID 来保存:docker save -o autoware_universe.tar abc123def456
  2. 拷贝文件
    将生成的 autoware_universe.tar 文件拷贝到目标位置(如 U 盘、另一台服务器)。

  3. 导入(加载)镜像
    在目标机器上(需要安装 Docker),运行:

    docker load -i autoware_universe.tar
    
    • 镜像加载完成后,就可以用 docker images 看到它,并用 docker run 启动容器了。

docker 下载运行

1. 下载镜像

docker pull <image_name>:<tag>
2. 运行容器

docker run <image_name>:<tag>
注意:docker run 会自动检查本地是否存在镜像,不存在则自动下载

docker 查看指令

目的命令
查看正在运行的容器docker ps
查看所有 (all) 容器(含停止的)docker ps -a
查看本地所有镜像docker imagesdocker image ls
查看 Docker 系统信息docker info
查看磁盘占用docker system df
查看容器详细信息docker inspect <容器名>
容器正在运行,想进入查看docker exec -it


文章转载自:

http://UE4otI8W.wzknt.cn
http://fAdDVAVC.wzknt.cn
http://mvYQ7ezp.wzknt.cn
http://RNaVBgrU.wzknt.cn
http://7nDIt2cB.wzknt.cn
http://UEZc8dHG.wzknt.cn
http://C830AYuZ.wzknt.cn
http://TXie1Nsd.wzknt.cn
http://rCjXmrF6.wzknt.cn
http://FTvnYlAz.wzknt.cn
http://Y7hjflmm.wzknt.cn
http://dFkBkXyF.wzknt.cn
http://5SKVW4cd.wzknt.cn
http://PrjPeCyB.wzknt.cn
http://965OAzRi.wzknt.cn
http://aC6pcWu3.wzknt.cn
http://3HwdMFFa.wzknt.cn
http://wmVackvn.wzknt.cn
http://GDh3OLrV.wzknt.cn
http://JFIwVjyT.wzknt.cn
http://1rQozG2k.wzknt.cn
http://1nrgOXkh.wzknt.cn
http://sLjBGgRC.wzknt.cn
http://PbSrgRze.wzknt.cn
http://9tNJu2tV.wzknt.cn
http://Pe0dPTNb.wzknt.cn
http://2fWVpyRW.wzknt.cn
http://QEVE6LGq.wzknt.cn
http://L1x82Gqb.wzknt.cn
http://EAGCUYeq.wzknt.cn
http://www.dtcms.com/a/370530.html

相关文章:

  • 从“能说话”到“会做事”:AI工具如何重塑普通人的工作与生活?
  • RAG提示词分解
  • 第三节:HTML5 高级特性与应用​
  • 【C++】模板和STL
  • react生命周期,详细版本
  • NLWeb与AutoRAG跨境电商RAG推荐API接入实战教程
  • Storybook:多框架兼容的前端组件开发工具,高效解决组件隔离开发与文档管理问题
  • 嵌入式笔记系列——UART:TTL-UART、RS-232、RS-422、RS-485
  • Week 15: 深度学习补遗:集成学习初步
  • 计算机CPU的工作原理介绍
  • 科学研究系统性思维的方法体系:个人研究项目管理
  • macbook intel 打开cursor会闪退
  • Day22_【机器学习—集成学习(2)—Bagging—随机森林算法】
  • 2025年大数据专业人士认证发展路径分析
  • 【CV】Opencv图像处理——①几何变换 (1)
  • dify+Qwen2.5-vl+deepseek打造属于自己的作业帮
  • 待定系数法分解分式
  • WordPress过滤文章插入链接rel属性noopener noreferrer值
  • AwesomeBump Windows上编译细则
  • 2026届大数据毕业设计选题推荐-基于大数据旅游数据分析与推荐系统 爬虫数据可视化分析
  • NIOS ii工程移植路径问题
  • Redis中的List数据类型
  • 设计一个 AB 测试平台
  • MATLAB2025-安装Embedded Code Support Pacjage for STM32 Processors
  • 去中心化投票系统开发教程 第三章:智能合约设计与开发
  • 基于Matlab的MEMS陀螺仪Allan方差分析与随机误差参数识别
  • 植物大战僵尸融合版安装包,下载安装教程
  • 基于STM32的智能宠物屋系统设计
  • SQL 入门指南:排序与分页查询(ORDER BY 多字段排序、LIMIT 分页实战)
  • (算法 哈希表)【LeetCode 349】两个数组的交集 思路笔记自留