之前在学习docker的时候,学到了docker的镜像导出导入 的命令
docker save -o nginx.tar nginx:1.24
docker load -i nginx.tar
但是在1.24版本的集群上已经变了,这里梳理一下用法
用于 containerd 但兼容 docker CLI 习惯
nerdctl 是一个与 docker cli 风格兼容的 containerd 客户端工具,而且直接兼容 docker compose 的语法的,这就大大提高了直接将 containerd 作为本地开发、测试或者单机容器部署使用的效率。
wget https://github.com/containerd/nerdctl/releases/download/v0.12.1/nerdctl-0.12.1-linux-amd64.tar.gz
tar -xf nerdctl-0.12.1-linux-amd64.tar.gz
mv nerdctl /usr/local/bin/
# 定义版本号,你可以根据实际情况修改
CNI_VERSION="v1.3.0"
ARCH="amd64"
wget https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz
sudo mkdir -p /opt/cni/bin
sudo tar -C /opt/cni/bin -xzf cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz
# 启动一个容器
nerdctl run -d -p 80:80 --name nginx docker.io/library/nginx:alpine
# 查看启动的容器
nerdctl ps
# 查看镜像
nerdctl images
# 进容器
nerdctl exec -it nginx /bin/sh
# 查看容器详情
nerdctl inspect nginx
# 下载镜像
nerdctl pull busybox
# 所有docker能使用的命令 nerdctl几乎都能用,只需把 docker 换成 nerdctl 就可以
# 保存镜像
nerdctl save -o busybox.tar.gz busybox
# 删除镜像
nerdctl rmi busybox
# 导入镜
nerdctl load -i busybox.tar.gz