containerd镜像加速

1.概述

  • • 2024年6月7日因DockerHub遭受协同攻击,植入数百万恶意存储库,因此导致dockerhub无法使用;
  • • 这篇文章针对的是containerd,docker请查看公众号历史文章

2.containerd部署

$ wget https://mirror.ghproxy.com/https://github.com/containerd/containerd/releases/download/v1.7.18/containerd-1.7.18-linux-amd64.tar.gz
$  wget https://mirror.ghproxy.com/https://github.com/opencontainers/runc/releases/download/v1.1.13/runc.amd64

$ tar -xvf containerd-1.7.18-linux-amd64.tar.gz -C /opt/
$ chmod  +x runc.amd64 
$ mv runc.amd64 /usr/local/bin/runc
$ cat > /lib/systemd/system/containerd.service << EOF
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target
[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/containerd
Type=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=infinity
TasksMax=infinity
OOMScoreAdjust=-999
[Install]
WantedBy=multi-user.target
EOF

$ systemctl  daemon-reload 
$ systemctl  restart containerd.service 

3.下载镜像

$ ctr images pull docker.io/library/nginx

# 发现过一会就超时了,无法下载镜像

4.解决方案1

  • • 镜像加速改为阿里或者华为云即可
  • • 加速地址获取方式自行百度,自己登录阿里云或者华为云官网就能找到;
  • • 这种办法目前有效,缺陷就是阿里云只同步了大类的仓库,也就是常用的仓库,其它没有同步,因此也就无法使用
  • • containerd配置方式有2种,1.5版本是一种这种方式配置会有告警提示(想用的同学自行百度即可),本次我使用2.0的方式配置
$ vim /etc/containerd/config.toml
#147
    [plugins."io.containerd.grpc.v1.cri".registry]
      config_path = "/etc/containerd/certs.d"

#docker hub镜像加速配置
mkdir -p /etc/containerd/certs.d/docker.io
cat > /etc/containerd/certs.d/docker.io/hosts.toml << EOF
server = "https://docker.io"
[host."https://uvwbdks5.mirror.aliyuncs.com"]
  capabilities = ["pull", "resolve"]
EOF

# 注意:对于nerdctl命令来说,会自动使用/etc/containerd/certs.d目录下的配置镜像加速,但是对于ctr命令,需要指定--hosts-dir=/etc/containerd/certs.d
$ ctr image pull --hosts-dir=/etc/containerd/certs.d docker.io/library/nginx:latest

# 查看有没有使用镜像加速加debug选项即可
$ ctr --debug=true image pull --hosts-dir=/etc/containerd/certs.d docker.io/library/nginx:latest

2.解决办法2

  • • 配置containerd代理,这种也是最好的办法,能够下载任何镜像;
  • • 将后面的路径修改为containerd的systemd配置文件即可;
sed -i '5a Environment=HTTP_PROXY="http://10.10.50.2:7890"' /lib/systemd/system/containerd.service
      sed -i '5a Environment=HTTPS_PROXY="http://10.10.50.2:7890"' /lib/systemd/system/containerd.service
      sed -i '5a Environment="NO_PROXY=localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.svc,.cluster.local"' /lib/systemd/system/containerd.service
EOF

$ sudo systemctl daemon-reload && systemctl restart docker

3.国产镜像仓库

  • • https://atomhub.openatom.cn/
  • • 这个仓库是国内由开放原子开源基金会主导,华为、浪潮、DaoCloud、谐云、青云、飓风引擎以及 OpenSDV 开源联盟、openEuler 社区、OpenCloudOS 社区等成员单位共同发起建设的 AtomHub 可信镜像中心
  • • 镜像仓库可以使用,但是web界面有时候打不开,这不影响仓库使用;

  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了安装Docker CE镜像,你可以按照以下步骤进行操作: 1. 查看Docker支持的CentOS版本。可以参考中提供的信息,以确保你的操作系统版本是Docker支持的。 2. 安装最新版本的Docker。你可以使用以下命令来安装最新版本的Docker: ```shell yum install docker-ce docker-ce-cli containerd.io ``` 如果你需要安装特定版本的Docker,你可以通过以下命令查询可用版本并选择需要安装的版本: ```shell yum list docker-ce --showduplicates | sort -r ``` 然后使用以下命令安装特定版本: ```shell yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io ``` 3. 如果你之前安装了podman并且打算使用Docker CE,可以按照以下步骤进行解决: ```shell yum erase podman buildah yum install docker-ce docker-ce-cli containerd.io ``` 这样就可以删除podman并重新安装Docker CE。 请注意,以上步骤仅适用于CentOS操作系统。如果你使用其他操作系统,请参考相应的官方文档来安装Docker CE镜像。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Docker-1 Docker简介,CentOS8安装Docker-ce,配置镜像加速器](https://blog.csdn.net/u013071014/article/details/118220743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值