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_proxy和https_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
我希望、我希望你没有活在别人希望的希望里。
本文来自博客园,作者:-2287-,转载请注明原文链接:https://www.cnblogs.com/2287keybord/p/18612567

浙公网安备 33010602011771号