在无法连接registry 的环境中,想要把 crictl 中的镜像给docker 使用,应该怎么处理?
其实容器镜像是通用的,crictl 和ctr 以及docker 镜像是可以互相使用的,因为docker 在1.10版本之后遵从了OCI。所以crictl 环境下的镜像可以在docker中使用。这里使用打包方式加入docker.
crictl 没有打包功能,使用ctr 打包:
shell
ctr -n k8s.io image export xxx.tar image-name:image-tag
docker load -i xxx.tar
如果想要将docker 包转移到ctr 运行时,(docker 打包见:docker 镜像打包 ),则:
shell
ctr -n k8s.io images import xxx.tar
参考文档
https://kkgithub.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md
https://kkgithub.com/containerd/containerd/blob/main/cmd/ctr/main.go