containerd 配置代理
1.systemd unit file
为 containerd 服务创建一个 systemd 插入目录
mkdir /etc/systemd/system/containerd.service.d/
创建名为 /etc/systemd/system/containerd.service.d/http-proxy.conf 的文件
添加 HTTP_PROXY 环境变量
[Service]
Environment="HTTP_PROXY=http://10.96.6.214:7890"
如果您位于 HTTPS 代理服务器后面,请设置 HTTPS_PROXY 环境变量
[Service]
Environment="HTTPS_PROXY=http://10.96.6.214:7890"
可以设置多个环境变量;设置非 HTTPS 和 HTTPS 代理
[Service]
Environment="HTTP_PROXY=http://10.96.6.214:7890"
Environment="HTTPS_PROXY=http://10.96.6.214:7890"
⚠️警告:代理值中的特殊字符(例如 #?!()[]{} )必须使用 %% 进行双重转义。例如
[Service]
Environment="HTTP_PROXY=http://domain%%5Cuser:complex%%23pass@proxy.example.com:3128/"
如果您有需要在没有代理的情况下联系的内部 Docker 注册表,则可以通过 NO_PROXY 环境变量指定它们。
NO_PROXY 变量指定一个字符串,该字符串包含应从代理中排除的主机的逗号分隔值。您可以指定以下选项来排除主机:
IP 地址前缀 ( 1.2.3.4 )
域名或特殊 DNS 标签 ( * )
域名与该名称及其所有子域名匹配。带有 前导“.”仅匹配子域名。例如,给定域名 foo.example.com 和 example.com :
example.com 与 example.com 和 foo.example.com 匹配,并且
.example.com 仅匹配 foo.example.com
单个星号( * )表示不需要进行代理
IP 地址前缀( 1.2.3.4:80 )和域名( foo.example.com:80 )接受文字端口号
例子:
[Service]
Environment="HTTP_PROXY=http://10.96.6.214:7890"
Environment="HTTPS_PROXY=http://10.96.6.214:7890"
Environment="NO_PROXY=uhub.service.ucloud.cn,localhost,127.0.0.1,10.0.0.0/8"
刷新更改并重新启动 containerd
sudo systemctl daemon-reload
sudo systemctl restart containerd
验证配置是否已加载并与您所做的更改相匹配,例如
sudo systemctl show --property=Environment containerd
Environment=HTTP_PROXY=http://10.96.6.214:7890 HTTPS_PROXY=http://10.96.6.214:7890 NO_PROXY=uhub.se>
lines 1-1/1 (END)