己建了私有的镜像仓库,需要 dockerd 绕过代理服务器直连,那么配置 NO_PROXY 变量
时间: 2024-12-21 19:30:59 浏览: 8
当你已经设置了私有镜像仓库,并希望Docker守护程序(Dockerd)能够直接访问而不通过代理服务器,你可以通过修改`dockerd`的环境变量`NO_PROXY`来实现这个目标。`NO_PROXY`是一个用于指定哪些域名或IP地址不需要经过代理的列表,以逗号分隔。
首先,你需要找到影响`dockerd`运行的相关配置文件,通常是在Linux系统中 `/etc/docker/daemon.json` 或者 Windows 上的 `%ProgramData%\docker\config\daemon.json`(如果你启用了Windows Docker for Desktop)。
在该文件中,添加或编辑 `no_proxy` 字段,例如:
```json
{
"http_proxy": "",
"https_proxy": "",
"no_proxy": "*.your-private-repo.com,localhost,127.0.0.1",
}
```
这里,`.your-private-repo.com` 应替换为你私有镜像仓库的实际域名。确保包含通配符星号(*)以匹配仓库的子域名。同时,保留 `localhost` 和 `127.0.0.1`,因为它们通常无需代理。
重启`dockerd`服务使更改生效,命令如下(取决于操作系统):
- Linux: `sudo systemctl restart docker`
- Windows Docker for Desktop: 在任务管理器中选择“Docker Desktop”然后重启
现在,Docker将绕过代理直接连接到指定的私有镜像仓库。如果遇到其他问题,记得检查网络设置是否正确,以及仓库的防火墙设置是否允许来自`dockerd`的访问。
阅读全文