214 字
1 分钟
Docker配置代理(pull/run/build)
配置pull镜像时使用的代理
docker pull由dockerd进程发起,而dockerd进程是一个后台进程,不会读取当前用户的环境变量,所以我们需要在/etc/systemd/system/docker.service.d/http-proxy.conf中配置代理。
mkdir -p /etc/systemd/system/docker.service.dcat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf[Service]Environment="HTTP_PROXY=http://127.0.0.1:7890/" # 改成你自己的代理地址Environment="HTTPS_PROXY=http://127.0.0.1:7890/"Environment="NO_PROXY=localhost,127.0.0.1,.example.com"EOFsystemctl daemon-reloadsystemctl restart docker配置容器运行时使用的代理
容器运行时使用的代理配置在~/.docker/config.json中,如果没有该文件,可以手动创建。
mkdir -p ~/.dockercat <<EOF > ~/.docker/config.json{ "proxies": { "default": { "httpProxy": "http://127.0.0.1:7890/", # 改成你自己的代理地址 "httpsProxy": "http://127.0.0.1:7890/", "noProxy": "localhost,127.0.0.0/8,.example.com,172.128.2.0/24" # 如果你的容器之间使用了内网通信,例如172.x.x.x/24,也需要加入到noProxy中 } }}EOF配置构建镜像时使用的代理
在Dockerfile中配置代理
FROM debian:latestENV http_proxy http://192.168.8.110:7890ENV https_proxy http://192.168.8.110:7890... # 其他配置 Docker配置代理(pull/run/build)
https://nyanners.moe/docker-proxy