【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
相关推荐
爱学习 爱分享4 小时前
k8s 开启防火墙,容器内部无法访问外部 ip
tcp/ip·容器·kubernetes
养肥胖虎5 小时前
Docker学习笔记:后端、数据库和反向代理怎么一起跑起来
后端·nginx·docker·postgresql·go·部署
叶帆5 小时前
【YFIOs】Docker方式部署
运维·docker·容器
岳来6 小时前
Docker 的 --privileged 特权模式学习
docker·容器·--privileged
脑子加油站9 小时前
k8s-持久化存储
云原生·容器·kubernetes·k8s-持久化存储
NiceCloud喜云10 小时前
IntelliJ IDEA 保姆级安装 + ClaudeAPI 配置教程
java·开发语言·前端·ide·chrome·docker·intellij-idea
咖啡里的茶i10 小时前
在Docker环境中安装Hadoop cluster
docker
AOwhisky11 小时前
Docker 学习笔记:镜像分发、容器运行与资源限制
笔记·学习·docker
跨境数据猎手12 小时前
反向海淘代购系统 Docker + Kubernetes
docker·容器·kubernetes
冷小鱼12 小时前
从 Docker 到容器编排:框架选型与指令详解实战指南
运维·docker·容器·k8s·docker compose·docker swarm