docker配置代理

docker配置代理

老方法配置 proxy.conf (亲测有效-需要魔法)

  1. 创建配置文件目录
    1
    mkdir -p /etc/systemd/system/docker.service.d
  2. 创建配置文件
  • 注意:HTTP_PROXY和HTTPS_PROXY 是你的梯子所在的主机的ip和端口
    1
    2
    3
    4
    5
    6
    cat > /etc/systemd/system/docker.service.d/proxy.conf <<EOF
    [Service]
    Environment="HTTP_PROXY=http://192.168.1.111:7890/"
    Environment="HTTPS_PROXY=http://192.168.1.111:7890/"
    Environment="NO_PROXY=localhost,127.0.0.1,hub.docker.com,registry.aliyuncs.com"
    EOF
  1. 如果是clash的需要打开 Allow LAN

  2. 重启docker

    1
    2
    systemctl daemon-reload && systemctl restart docker
    systemctl show --property=Environment docker # 查看配置

新方法

对config.json 文件进行修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mkdir -p ~/.docker
cat > ~/.docker/config.json <<EOF
{
"proxies":
{
"default":
{
"httpProxy": "http://192.168.3.3:8889",
"httpsProxy": "http://192.168.3.3:8889",
"noProxy": "127.0.0.1,docker.io,hub.docker.com,hub-mirror.c.163.com,pvjhx571.mirror.aliyuncs.com"
}
}
}
EOF

#将 “httpProxy” 和 “httpsProxy” 的值替换为你的代理服务器地址和端口。
#注意:”noProxy”: 指定不需要使用代理的地址列表,通常包括本地地址。

使用国外的docker镜像源

注意需要魔法
#如果需要将 Docker 镜像下载代理到国外 Docker 官网或其他国外镜像源,可以使用以下方法:
在 daemon.json 中配置如下:

1
2
3
{
"registry-mirrors": ["https://your-registry-mirror-url"]
}