💡
原文中文,约2500字,阅读约需6分钟。
📝
内容提要
Docker 的代理配置分为多层次,影响范围各异。CLI 配置在 `~/.docker/config.json`,影响构建和容器环境变量。Dockerfile 中的 ARG 仅在构建阶段有效,ENV 会写入镜像。dockerd 的代理配置通过 systemd 设置,仅影响守护进程的网络行为。常见误区包括 ARG 不会自动进入容器,config.json 不影响容器启动。建议在构建和运行阶段显式传参,避免硬编码代理。
🎯
关键要点
- Docker 的代理配置存在多个作用层级,不同配置方式影响的范围不同。
- CLI 代理配置在 ~/.docker/config.json,影响 docker CLI 和 docker compose。
- CLI 会将 proxy 自动转换为 build-args 和容器环境变量。
- Dockerfile 中的 ARG 仅在构建阶段有效,不会出现在最终镜像中。
- ENV 会写入镜像元数据,运行容器时自动存在。
- dockerd 的代理配置通过 systemd 设置,仅影响守护进程的网络行为。
- 常见误区包括 ARG 不会自动进入容器,config.json 不仅影响 build。
- 推荐在构建和运行阶段显式传参,避免硬编码代理。
➡️