首先的首先,需要一个代理,要不后面的看了也没用
问题
安装OLM(Operator Lifecycle Manager) 时,无法下载quay.io的镜像,就算是提前下载到本地也不行。像CatalogSource类型,spec中没有imagePullPolicy属性,无法修改。
安装参考:https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/install/install.md
Docker镜像下载加速
此时(2021年3月1日),服务器配了镜像代理地址也无法拉取镜像,输出如下:
1 | Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) |
第一个想到就是被墙了,但是系统全局配了http_proxy和https_proxy,无效
参考官方文档Docker systemd/#httphttps-proxy配置,给Dokcer daemon配置代理即可。
配置
- 创建
docker.service.d目录
1 | mkdir /etc/systemd/system/docker.service.d |
- 然后在该目录下创建
http-proxy.conf文件,在其中填入全局变量即可
1 | [Service] |
- [可选]添加不走代理的地址
1 | Environment="HTTP_PROXY=http://proxy.example.com:80/" |
- reload daemon
1 | $ sudo systemctl daemon-reload |
- [可选] 检查配置是否加载
1 | $ sudo systemctl show --property Environment docker |
- 重启Docker:
1 | $ sudo systemctl restart docker |
Containerd镜像下载加速
以1.4.1版本为例
配置
修改默认配置文件 /etc/contaienrd/config.toml,按如下配置即可,可修改为自己所需的地址
1 | ... |
Quay.io 内网代理
quay的镜像现在已经下不下来了,只能走代理下载,现有国内的几个代理地址(中科大,七牛等)好像都不太行,只能自己内网建一个quay的代理了。
配置
Docker的registry镜像支持代理模式,先启动一个redis
1 | # 创建网卡 |
创建registry的镜像存储路径,创建配置
1 | > mkdir -p /opt/docker/dockerhub/data |
启动 docker registry,一定要配置代理的全局变量
1 | > docker run -d \ |
然后我们在Docker的daemon.json和Containerd的config.toml中配置该registry地址即可。
运行时配置
下面以内网地址10.20.89.33为例
Docker
/etc/docker/daemon.json
1 | ... |
Containerd
/etc/contaienrd/config.toml
1 | ... |
