虚拟机配置docker代理,用于拉取hub官网镜像
·
前提:宿主机已经开启了加速器代理,你的实际linux出口:192.168.122.1,比如VMnet8的ipv4地址
1️⃣ 临时生效(当前 shell 会话)
在当前 shell 执行:
export http_proxy=http://192.168.122.1:7890
export https_proxy=http://192.168.122.1:7890
export no_proxy=localhost,127.0.0.1
然后执行:
docker login
docker pull hello-world
✅ 这种方法只对当前终端有效,关闭或重启 docker daemon 后无效。
2️⃣ 永久生效(Docker daemon 配置代理)
步骤:
- 创建 systemd 配置目录(如果不存在):
sudo mkdir -p /etc/systemd/system/docker.service.d
- 创建代理配置文件:
sudo nano /etc/systemd/system/docker.service.d/proxy.conf
写入内容:
[Service]
Environment="HTTP_PROXY=http://192.168.122.1:7890"
Environment="HTTPS_PROXY=http://192.168.122.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1,192.168.122.0/24"
⚡ 注意:
NO_PROXY可以加入你的虚拟机 NAT 网段,避免访问局域网走代理- 如果你的代理是 SOCKS5,Docker daemon 只能通过 HTTP/HTTPS 代理,SOCKS5 需要用 redsocks 或 polipo 转成 HTTP。
- 重新加载 systemd 配置并重启 Docker:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart docker
- 验证 Docker 是否走代理:
docker info | grep -i proxy
你应该看到:
HTTP Proxy: http://192.168.122.1:7890
HTTPS Proxy: http://192.168.122.1:7890
No Proxy: localhost,127.0.0.1,192.168.122.0/24
3️⃣ 验证是否生效
docker login
docker pull hello-world
docker push bonegiao/myapp:latest
如果能正常登录并拉/推镜像,就说明 Docker CLI 和 daemon 都走代理了。
更多推荐


所有评论(0)