容器设置代理

文档说明:只记录关键地方; 发文时间: 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

查看服务名称所在目录


参考文档

  1. 自建拉取registry.k8s.io、k8s.gcr.io、gcr.io、quay.io、ghcr.io 容器镜像的服务
  2. 自建 docker hub 容器镜像缓存服务和加速服务
  3. 保留的 IP 地址
  4. 判断某个IP是公共IP还是保留IP
  5. IPV4的保留地址汇总
  6. linux 快速安装docker
  7. ipv4 私有地址块 地址块100.64.0.0/10代表什么?

ipv4 私有地址块

posted @ 2022-08-11 16:14  jingjingxyk  阅读(487)  评论(0编辑  收藏  举报