在 Docker Desktop 上设置 HTTP/HTTPS/SOCKS5 代理

在 Docker Desktop 上设置 HTTP/HTTPS/SOCKS5 代理

在使用 Docker Desktop 时,可能会遇到需要通过代理服务器访问外部网络的情况。本篇博客将会介绍如何在 Linux、Windows 以及 MacOS 上的 Docker Desktop 设置 HTTP/HTTPS 以及 SOCKS5 代理。

在 Linux 上设置代理

在 Linux 上,你可以通过环境变量来为 Docker 设置代理。你需要在 /usr/lib/systemd/system/docker.service 文件中添加环境变量:

txt 复制代码
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
Environment="HTTP_PROXY=socks5://x.x.x.x:xxxx"
Environment="HTTPS_PROXY=socks5://x.x.x.x:xxxx"
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

其中Environment=xxx 两句就需要添加的内容。

然后,你需要重新加载 systemd 配置并重启 Docker:

console 复制代码
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

在 Windows 上设置代理

在 Windows 上,你可以通过 Docker Desktop 的图形界面来设置代理。首先,打开 Docker Desktop,然后选择 Settings > Proxies,在这里,你可以设置 HTTP/HTTPS 代理,也可以设置 SOCKS5 代理。

例如,你可以在 HTTP Proxy 字段中输入 http://proxy.example.com:80,在 HTTPS Proxy 字段中输入 https://proxy.example.com:443

socks5代理需要企业订阅(要花钱)

最后,点击 Apply & Restart 按钮来应用设置并重启 Docker。

在 MacOS 上设置代理

在 MacOS 上,你也可以通过 Docker Desktop 的图形界面来设置代理。首先,打开 Docker Desktop,然后选择 Preferences > Proxies,在这里,你可以设置 HTTP/HTTPS 代理,也可以设置 SOCKS5 代理。

例如,你可以在 HTTP Proxy 字段中输入 http://proxy.example.com:80,在 HTTPS Proxy 字段中输入 https://proxy.example.com:443,然后在 No Proxy 字段中输入 localhost,127.0.0.1,。

socks5代理需要企业订阅(要花钱)

最后,点击 Apply & Restart 按钮来应用设置并重启 Docker。

希望这篇文章能够帮助你理解如何在 Docker Desktop 上设置代理。如果你有任何问题或者建议,欢迎在下方留言。

相关推荐
念何架构之路32 分钟前
moby-BuildKit(builder-next)
学习·docker·容器
风曦Kisaki35 分钟前
Kubernetes(K8s)笔记Day04:控制器(ReplicaSet 与Deployment),滚动更新及回滚,滚动更新策略,Pod 的 DNS 策略
linux·运维·笔记·docker·容器·kubernetes
爱码少年1 小时前
此docker compose非彼docker-compose
docker
January丶1 小时前
docker-compose部署RabbitMQ(含管理页面)
docker
January丶1 小时前
docker-compose部署ElasticSearch集群
docker
johnny2331 小时前
镜像管理工具Skopeo实战
docker
极客先躯15 小时前
高级java每日一道面试题-2026年05月03日-实战篇[Docker]-如何实现容器化环境的数据加密?
java·运维·docker·容器·金融·加解密·高级面试
ChaITSimpleLove17 小时前
SimpleIdServer 6.0.4 Docker Compose 实战部署指南
运维·docker·容器·身份认证·id-server·simpleidserver
ShineWinsu20 小时前
对于Linux:HTTP中cookie、session的解析
linux·网络·c++·网络协议·http·cookie·session
风曦Kisaki21 小时前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes