容器设置代理
文档说明:只记录关键地方; 发文时间: 2022-08-11
实验环境:linux debian 11 和 ubuntu 22.04
为了解决容器镜像
pull
速度慢,或者直接被阻断的情况
容器配置代理方式一:(推荐)
使用 systemd 配置文件 http-proxy.conf 配置
关键点: 一定要用
systemctl status docker
或者systemctl status contaienrd
确认服务配置所在目录
手动安装的容器 和 使用系统源安装 容器,它们的服务配置目录是不一样的
例子: docker 是使用系统源安装, containerd 手动安装
mkdir -p /lib/systemd/system/docker.service.d/
cat > /lib/systemd/system/docker.service.d/http-proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=http://192.168.3.122:8016"
Environment="HTTPS_PROXY=http://192.168.3.122:8016"
Environment="NO_PROXY=0.0.0.0/8,10.0.0.0/8,100.64.0.0/10,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16,localhost,.aliyuncs.com,docker.xiaoshuogeng.com:5000"
EOF
systemctl daemon-reload
systemctl restart containerd
mkdir -p /usr/local/lib/systemd/system/containerd.service.d
cat > /usr/local/lib/systemd/system/containerd.service.d/http-proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=http://192.168.3.122:8016"
Environment="HTTPS_PROXY=http://192.168.3.122:8016"
Environment="NO_PROXY=0.0.0.0/8,10.0.0.0/8,100.64.0.0/10,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16,localhost,.aliyuncs.com,docker.xiaoshuogeng.com:5000"
EOF
systemctl daemon-reload
systemctl restart containerd
容器配置代理方式二:
docker 设置代理
vi /lib/systemd/system/docker.service
[Service]
Environment="HTTP_PROXY=http://192.168.3.122:8016"
Environment="HTTPS_PROXY=http://192.168.3.122:8016"
Environment="NO_PROXY=0.0.0.0/8,10.0.0.0/8,100.64.0.0/10,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16,localhost,.aliyuncs.com,docker.xiaoshuogeng.com:5000"
# 新增上面三行
Type=notify
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock
containerd 设置代理
vi /lib/systemd/system/containerd.service
[Service]
Environment="HTTP_PROXY=http://192.168.3.122:8016"
Environment="HTTPS_PROXY=http://192.168.3.122:8016"
Environment="NO_PROXY=0.0.0.0/8,10.0.0.0/8,100.64.0.0/10,127.0.0.0/8,172.16.0.0/12,192.168.0.0/16,localhost,.aliyuncs.com,docker.xiaoshuogeng.com:5000"
# 新增上面三行
ExecStartPre=-/sbin/modprobe overlay
配置完毕重启服务
systemclt daemon-reload
systemctl restart docker
# 或者
systemctl restart containerd
备注
docker.xiaoshuogeng.com:5000 是自建容器镜像缓存服务 请求地址, 这个地址不用通过代理
# 配置不通过代理的IP 和 域名
NO_PROXY=0.0.0.0/8,10.0.0.0/8
# 代理服务端地址
http://192.168.3.122:8016
# 查看 systemd 服务名称位置
systemctl status docker
systemctl status contaienrd
查看服务名称所在目录
参考文档
- 自建拉取registry.k8s.io、k8s.gcr.io、gcr.io、quay.io、ghcr.io 容器镜像的服务
- 自建 docker hub 容器镜像缓存服务和加速服务
- 保留的 IP 地址
- 判断某个IP是公共IP还是保留IP
- IPV4的保留地址汇总
- linux 快速安装docker
- ipv4 私有地址块 地址块100.64.0.0/10代表什么?