docker proxy
·
docker proxy
docker cli proxy 和 daemon proxy 的区别
在 Docker 中,CLI Proxy 和 Daemon Proxy 作用于不同的阶段,配置位置和生效对象完全不同。
- CLI Proxy 影响的是“容器运行时的内容”
- Daemon Proxy 影响的是“Docker 引擎拉取镜像的过程”。
Docker CLI Proxy(客户端代理)
这是为容器内部设置的环境变量。
当运行 docker run 或 docker build 时,Docker 会自动将这些代理设置注入到容器的环境变量中。
- 生效对象:容器内的进程(如在容器里执行 curl、apt-get、pip install)。
- 配置位置:通常在当前用户的家目录下:~/.docker/config.json。
- 示例:
{ "proxies": { "default": { "httpProxy": "http://192.168.1.10:7890", "httpsProxy": "http://192.168.1.10:7890", "noProxy": "*.test.com,localhost" } } }
Docker Daemon Proxy(守护进程代理)
为 Docker 引擎后台服务设置的代理。它决定了 Docker 守护进程自身如何连接外网。
- 生效对象:Docker 引擎本身的操作。最典型的场景是 docker pull(拉取镜像)。如果你的服务器无法直接访问 Docker Hub,必须配置这个代理。
- 配置位置:通常通过 Systemd 配置文件:/etc/systemd/system/docker.service.d/http-proxy.conf(或通过 daemon.json 在某些版本中配置)。
- 配置示例(Systemd 方式):
[Service] Environment="HTTP_PROXY=http://192.168.1.10:7890" Environment="HTTPS_PROXY=http://192.168.1.10:7890"
核心区别

- 如果拉不下镜像,配置 Daemon Proxy。
- 如果镜像拉下来了,但在 docker build 过程中报错或容器里上不了网,配置 CLI Proxy。
更多推荐

所有评论(0)