Docker 设置代理的三种方法(2025年06月03日亲测可用)

 更新时间:2025年09月25日 09:29:09   作者:熊明才  
在Docker中设置代理是非常常见的需求,本文将介绍三种配置Docker使用代理的常见方法,包括通过配置镜像加速器、通过配置HTTP/HTTPS代理及通过配置代理,感兴趣的可以了解一下

在 Docker 中设置代理是非常常见的需求,尤其是在某些需要通过代理访问外部资源的网络环境下。本文将介绍三种配置 Docker 使用代理的常见方法:通过 daemon.json 配置镜像加速器、通过 daemon.json 配置 HTTP/HTTPS 代理、以及通过 docker.service 配置代理。

方式零 就是不配置代理,使用网友大佬开发的代理脚本(2025年02月08日更新)

妈妈再也不用担心下载不到docker Hub 上的镜像了:

bash -c "$(curl -sSLf https://xy.ggbond.org/xy/docker_pull.sh)" -s 参数1:完整镜像名 参数2:代理文件路径(可选项)

说明:
代理文件路径是指存放docker_mirrors.txt文件的目录,如果不填写默认创建/etc/xiaoya目录,并自动在该目录生成docker_mirrors.txt文件。
docker_mirrors.txt文件每行一个代理镜像点,越排在上方的优先级越高,脚本会自动将上一次成功下载的代理点排序在第一位。
如果要手动添加与使用自定义的代理镜像点,只需要在第一行填上地址即可。

示例:

bash -c "$(curl -sSLf https://xy.ggbond.org/xy/docker_pull.sh)" -s grafana/loki:2.8.0 /tmp/

方式一 配置daemon.json镜像加速器 (适合入门对下载速度无要求)

通过修改 Docker 的配置文件 daemon.json 来配置镜像加速器,可以加速 Docker 镜像的拉取速度,尤其是在国内环境下。操作步骤如下:

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

sudo vim /etc/docker/daemon.json

添加镜像加速器配置:

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://ueo0uggy.mirror.aliyuncs.com",
    "https://docker.m.daocloud.io",
    "https://cf-workers-docker-io-apl.pages.dev"
  ]
}

使用 jq 命来行工具验证配置格式是否符合json 格式(可选)

sudo apt install jq -y
 jq '.' /etc/docker/daemon.json

保存并退出编辑器,然后重启 Docker 服务:

sudo systemctl restart docker

您可以通过 docker info 命令查看当前 Docker 配置,包括是否成功加载了镜像加速器。

sudo docker info | grep -i 'Registry Mirrors'

如果配置成功,您会看到类似以下的输出:

Registry Mirrors:
 https://hub-mirror.c.163.com
 https://docker.mirrors.ustc.edu.cn
 https://ueo0uggy.mirror.aliyuncs.com
 https://docker.m.daocloud.io
 https://cf-workers-docker-io-apl.pages.dev

这表示镜像加速器已经成功配置并生效。

拉取镜像进行测试

另一种验证方法是通过拉取一个镜像来检查是否使用了镜像加速器。您可以尝试拉取一个常见的 Docker 镜像,例如 hello-world

sudo docker pull hello-world

如果您配置了国内的镜像加速器,并且能够快速完成镜像拉取,那么镜像加速器已经生效。如果拉取速度较慢,可能说明加速器没有生效,您可以再次检查配置或网络环境。

方式二 配置daemon.jsonHTTP/HTTPS 代理

在使用方式二和方式三前,请确保代理环境已正确设置:
验证代理环境如下命令

# root @ DESKTOP-1LUA3MJ in ~ [15:26:32] 
$ export http_proxy="http://127.0.0.1:7890"
$ export https_proxy="http:/127.0.0.1:7890"

# root @ DESKTOP-1LUA3MJ in ~ [15:26:34]
$ curl -I http://www.google.com  # 检查代理是否生效,200/301响应表示成功
HTTP/1.1 200 OK
Transfer-Encoding: chunked  
Cache-Control: private
Connection: keep-alive

如果需要通过代理访问 Docker 镜像或其他网络资源,可以通过修改 daemon.json 配置 HTTP 和 HTTPS 代理。以下是配置步骤:

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

sudo vim /etc/docker/daemon.json

配置 HTTP 和 HTTPS 代理:

{
  "proxies": {
    "http-proxy": "http://127.0.0.1:7890",
    "https-proxy": "http://127.0.0.1:7890"
  }
}

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

sudo systemctl restart docker

验证代理配置是否生效:

sudo docker info | grep -A 1 ' HTTP Proxy'

输出结果应显示:

WARNING: bridge-nf-call-iptables is disabled
HTTP Proxy: http://127.0.0.1:7890
HTTPS Proxy: http://127.0.0.1:7890
WARNING: bridge-nf-call-ip6tables is disabled

方式三 配置docker.service代理 (进阶使用,使用效果同方法二 )

另一种配置代理的方法是直接在 Docker 服务的启动配置中设置代理。通过编辑 docker.service 文件来配置 HTTP 和 HTTPS 代理。

配置步骤:

查找 docker.service 文件的位置:

sudo systemctl status docker

输出中的 Loaded 行会显示 docker.service 的路径,例如:

Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)

编辑 docker.service 文件,在 [Service] 部分添加代理环境变量:

sudo vim /lib/systemd/system/docker.service

[Service] 部分添加如下内容:

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890/"
Environment="HTTPS_PROXY=http://127.0.0.1:7890/"

保存并退出编辑器,重载 docker.service 配置并重启 Docker 服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

如果需要查看 Docker 启动日志,可以使用以下命令:

sudo journalctl -u docker.service

通过这三种方法,您可以轻松地为 Docker 配置代理,帮助您更好地管理镜像拉取和容器网络访问。选择适合您的方式进行配置,以便在使用 Docker 时更加高效、便捷。

到此这篇关于Docker 设置代理的三种方法(2025年06月03日亲测可用)的文章就介绍到这了,更多相关Docker 设置代理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MacBookPro下docker的安装与使用教程

    MacBookPro下docker的安装与使用教程

    Windows与Linux下关于docker的安装使用方法有很多,今天小编这里给大家分享的是MacOS下docker的安装与简单使用案例,非常简单,给有需要的小伙伴参考下
    2017-03-03
  • Docker基础命令详解

    Docker基础命令详解

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。本文给大家分享docker基础命令,感兴趣的朋友一起看看吧
    2016-10-10
  • Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法

    Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法

    这篇文章主要介绍了Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • docker-compose启动redis集群的实现步骤

    docker-compose启动redis集群的实现步骤

    本文主要介绍了docker-compose启动redis集群的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Docker 彻底删除私有库镜像的操作

    Docker 彻底删除私有库镜像的操作

    这篇文章主要介绍了Docker 彻底删除私有库镜像的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker容器/etc/hosts文件修改方法

    docker容器/etc/hosts文件修改方法

    在容器内部,当需要访问其他容器或主机时,可以通过/etc/hosts文件来解析主机名,从而实现网络通信,这篇文章主要介绍了docker容器/etc/hosts文件,需要的朋友可以参考下
    2023-06-06
  • window-docker的容器使用宿主机音频设备的过程详解

    window-docker的容器使用宿主机音频设备的过程详解

    这篇文章主要介绍了window-docker的容器使用宿主机音频设备的相关知识,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-05-05
  • Docker安装Redis并介绍可视化客户端进行操作

    Docker安装Redis并介绍可视化客户端进行操作

    这篇文章主要介绍了Docker安装Redis并介绍可视化客户端进行操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 云原生使用Docker部署Firefox浏览器详细图文教程

    云原生使用Docker部署Firefox浏览器详细图文教程

    下面这篇文章主要给大家介绍了关于云原生使用Docker部署Firefox浏览器的相关资料,这对于一些特殊的测试场景非常有用,例如需要在不同版本的浏览器中进行测试,需要的朋友可以参考下
    2024-04-04
  • docker安装Wordpress速度过慢的问题解决方法

    docker安装Wordpress速度过慢的问题解决方法

    Docker是一种开源的容器化平台,可以帮助开发者将应用程序及其依赖项打包成一个独立的容器,,WordPress是一个流行的开源内容管理系统(CMS),用于创建和管理网站,本文给大家介绍了docker安装Wordpress速度过慢的问题解决方法,需要的朋友可以参考下
    2024-05-05

最新评论