【Docker&Containerd】使用docker pull 和crictl pull命令拉取镜像导入至本地仓库

文章目录

场景需求说明

因docker镜像下载受阻。

登录亚马逊云控制台,创建EC2实例

SSH连接EC2实例

bash 复制代码
C:\Users\xyb>ssh -i <密钥.pem> ec2-user@<公网IP地址/弹性IP地址>

安装Docker

bash 复制代码
[root@ip-10-0-10-183 ~]# yum install -y docker


[root@ip-10-0-10-183 ~]# systemctl daemon-reload
[root@ip-10-0-10-183 ~]# systemctl start docker && systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.


[root@ip-10-0-10-183 ~]# docker info
Client:
 Version:    25.0.3
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.0.0+unknown
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 25.0.3
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 64b8a811b07ba6288238eefc14d898ee0b5b99ba
 runc version: 4bccb38cc9cf198d52bebf2b3a90cd14e7af8c06
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.1.92-99.174.amzn2023.x86_64
 Operating System: Amazon Linux 2023.4.20240611
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.813GiB
 Name: ip-10-0-10-183.ec2.internal
 ID: 437e11f3-e1e3-4507-bc6d-2de96b64a77d
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

拉取所需要的镜像

bash 复制代码
[root@ip-10-0-10-183 ~]# docker pull docker.io/calico/cni:v3.25.0
v3.25.0: Pulling from calico/cni
bc84ed7b6a65: Pull complete
ae5822c70dac: Pull complete
5e4c3414e9ca: Pull complete
8833c0c1f858: Pull complete
8729f736e48f: Pull complete
79eb57bec78a: Pull complete
84d025afc533: Pull complete
df79b6dbf625: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:a38d53cb8688944eafede2f0eadc478b1b403cefeff7953da57fe9cd2d65e977
Status: Downloaded newer image for calico/cni:v3.25.0
docker.io/calico/cni:v3.25.0
[root@ip-10-0-10-183 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
calico/cni   v3.25.0   d70a5947d57e   17 months ago   198MB

使用SecureFX传输工具拉取镜像至本地

上传镜像至本地服务器中

使用crictl命令导入镜像

bash 复制代码
docker pull docker.io/calico/kube-controllers:v3.26.1
#docker拉取镜像
 
docker save -o kube-controllers.tar docker.io/calico/kube-controllers:v3.26.1
#docker导出镜像
 
ctr -n k8s.io  image import cni.tar  docker.io/calico/cni:v3.25.0

ctr -n k8s.io  image import cni.tar  registry.aliyuncs.com/google_containers/cni:v3.25.0
#ctr导入镜像
 
crictl images
#查看镜像是否导入成功
 
kubectl get pod -A -o wide	
#查看pod是否运行
 
sudo scp kube-controllers.tar k8s@node1:/home/k8s
#把docker导出的包传到其它节点


#使用ctr命令指定命名空间导入镜像
ctr -n=k8s.io image import cni.tar

#查看镜像,可以看到可以查询到了
crictl images

[root@node01 ~]# kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-658d97c59c-fzmmj   1/1     Running   0          56m
calico-node-5fdwc                          1/1     Running   0          23m
calico-node-k5smq                          1/1     Running   0          56m
coredns-66f779496c-5qxnw                   1/1     Running   0          88m
coredns-66f779496c-tg9vb                   1/1     Running   0          88m
etcd-master01                              1/1     Running   0          89m
kube-apiserver-master01                    1/1     Running   0          89m
kube-controller-manager-master01           1/1     Running   0          89m
kube-proxy-thm89                           1/1     Running   0          89m
kube-proxy-tpcdh                           1/1     Running   0          23m
kube-scheduler-master01                    1/1     Running   0          89m
相关推荐
Patrick_Wilson2 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy3 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩4 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵5 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1115 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽6 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康8 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn8611 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
JLWcai2025100911 天前
铸造领域树脂砂轮|金利威多场景解决方案,20 + 配方覆盖全需求
mongodb·zookeeper·eureka·spark·rabbitmq·memcached·storm