Docker 代理配置

Docker 代理配置,适用于拉取镜像、容器内应用联网、构建镜像等场景。 ▍场景一:Docker Daemon 代理(拉取镜像) 🌐 当 Docker Daemon 本身需要代理访问外部镜像仓库(如 Docker Hub)时: 1. Linux (Systemd 系统) 创建服务覆盖配置: sudo mkdir -p /etc/systemd/system/docker.service.d sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf 添加内容: [Service] Environment="HTTP_PROXY=http://proxy.example.com:8080/" Environment="HTTPS_PROXY=http://proxy.example.com:8080/" Environment="NO_PROXY=localhost,127.0.0.1,*.internal" 重载并重启 Docker: sudo systemctl daemon-reload sudo systemctl restart docker 2. Windows/macOS (Docker Desktop) 打开 Docker Desktop → Settings → Resources → Proxies 填入 HTTP/HTTPS 代理及白名单: HTTP Proxy: http://proxy.example.com:8080 HTTPS Proxy: http://proxy.example.com:8080 Bypass: localhost,127.0.0.1,*.internal ▍场景二:容器运行时代理(容器内应用访问外部网络) 📦 若容器内部应用需要走代理联网: 1. 单容器运行时指定变量 docker run -e HTTP_PROXY="http://proxy.example.com:8080" \ -e HTTPS_PROXY="http://proxy.example.com:8080" \ -e NO_PROXY="localhost,127.0.0.1" \ your-image 2. 全局配置(修改 Docker 客户端配置) 编辑 ~/.docker/config.json: { "proxies": { "default": { "httpProxy": "http://proxy.example.com:8080", "httpsProxy": "http://proxy.example.com:8080", "noProxy": "localhost,127.0.0.1,*.corp" } } } 重启 Docker ▍场景三:Build 时代理(构建镜像) 🛠️ Dockerfile 构建过程中需代理下载依赖: ...

April 9, 2025 · 1 min · 173 words