docker代理

1. docker镜像加速

大佬更新加速站,更新2025-2-17

"https://cr.laoyou.ip-ddns.com",
"https://docker.1panel.live",
"https://image.cloudlayer.icu",
"https://hub.fast360.xyz",

参考:https://www.coderjia.cn/archives/dba3f94c-a021-468a-8ac6-e840f85867ea

docker镜像加速已失效,不知道未来某天会不会再次开放,日下镜像只能走梯子了,大家多保重。

"live-restore":  true		# 重启docker时不重启已启动的容器,布尔类型,不是字符串类型
"data-root": "/data1/docker/",	# docker 数据目录
"log-driver":"json-file",		# docker日志格式 json格式
"log-opts":{"max-size" :"50m","max-file":"1"},	# 日志最大50M,保留1个
"exec-opts": ["native.cgroupdriver=systemd"],	# 启动方式、systemd方式

insecure-registries修改成实际私有harbor

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
    "data-root": "/data1/docker/",
    "log-driver": "json-file",
    "log-opts":{
        "max-size": "50m",
        "max-file": "1"
    },
    "exec-opts": ["native.cgroupdriver=systemd"],
    "live-restore": true,
    "insecure-registries": [
        "192.168.0.133:30088",
        "cn.blog.com:30088"],
    "registry-mirrors": [
        "https://docker.1panel.live",
        "https://image.cloudlayer.icu",
        "https://hub.fast360.xyz",
        "https://docker-0.unsee.tech",
        "https://docker.1panelproxy.com",
        "https://docker.tbedu.top",
        "https://dockerpull.cn",
        "https://docker.m.daocloud.io",
        "https://hub.rat.dev",
        "https://docker.kejilion.pro",
        "https://docker.hlmirror.com",
        "https://docker.imgdb.de",
        "https://docker.melikeme.cn",
        "https://ccr.ccs.tencentyun.com",
        "https://pull.loridocker.com"
    ]
}
EOF
systemctl daemon-reload
systemctl restart docker

添加多个私有仓库

    "insecure-registries": [
        "192.168.0.133:30088",
        "cn.blog.com:30088"],

2. docker使用梯子代理

dockerhub代理因监管要求国内全面关闭,拉取镜像需要配置代理。
使用http代理时推荐去掉registry-mirrors段,同时使用虽说也可以,会有缓冲检测。
此代理方式作用拉取docker镜像docker pull,docker push不会影响容器内部网络。

vim /etc/docker/daemon.json
{
......
  "proxies": {
    "http-proxy": "http://192.168.0.133:32000",
    "https-proxy": "http://192.168.0.133:32000",
    "no-proxy": "*.test.example.com,.example.org,127.0.0.0/8"
  }
}
systemctl daemon-reload
systemctl restart docker

2.1 linux系统代理

与前一个配置相似,作用在系统层,但不需要重启docker,不会影响容器内网络。

cat >> /etc/profile <<-"EOF"
# 代理服务器域名或者地址
proxy="http://192.168.0.133:32000"
export http_proxy=$proxy
export https_proxy=$proxy
export no_proxy="localhost,127.0.0.1/8,::1,192.168.0.0/23,*.local"
EOF
source /etc/profile

2.2 Docker CLI代理 容器内部代理

拉取镜像,同时容器内部默认使用代理,Docker 支持通过配置守护进程或 Docker CLI 来为容器设置代理:

  • 配置守护进程的代理:如前面提到的,通过在 /etc/systemd/system/docker.service.d/ 中设置 http-proxy.conf
  • 通过 Docker CLI 传递代理设置:在运行容器时,可以使用 --env 选项传递 http_proxyhttps_proxy 环境变量。

默认文件不存在,手动创建,增加代理后需要重启docker,拉取镜像、容器内网络默认使用代理。

mkdir /etc/systemd/system/docker.service.d
cat   >/etc/systemd/system/docker.service.d/proxy.conf <<-"EOF"
[Service]
Environment="HTTP_PROXY=http://192.168.0.133:32000"
Environment="HTTPS_PROXY=http://192.168.0.133:32000"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
EOF
systemctl daemon-reload
systemctl restart docker

这种方式让代理配置更加灵活和安全,适应不同的网络访问需求和隔离要求。

参考:
https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6
https://docs.docker.com/config/daemon/proxy/#httphttps-proxy
https://www.dennisyu.top/article/proxy-on-linux.html

我希望、我希望你没有活在别人希望的希望里。

posted @ 2025-02-20 15:19  -2287-  阅读(166)  评论(0)    收藏  举报
-->