• 151-1268-4099
  • Lin_X1999@outlook.com
  • Shenzhen Nanshan, Guangdong
容器服务
将ACK 部署的服务打包成镜像

将ACK 部署的服务打包成镜像

问题:由于ack的沙盒使用的是containerd,所以不支持将已经运行中的容器打包成镜像的,同时pod本身不像docker container,其还有pause容器等网络行为

解决办法如下:
使用nerdctl来作为containerd的cli

1)安装nerdctl

VERSION="1.7.4"
wget https://github.com/containerd/nerdctl/releases/download/v${VERSION}/nerdctl-full-${VERSION}-linux-amd64.tar.gz

将压缩包放到节点上解压
tar -zxf nerdctl-full-1.7.4-linux-amd64.tar.gz

cd bin/

过滤指定的服务名
./nerdctl -n k8s.io ps | grep 服务名

提交容器为镜像
./nerdctl -n k8s.io commit 容器id  镜像名

查看导出的镜像
ctr -n k8s.io images list

push镜像到指定的镜像库
ctr -n k8s.io image push -u ${username}:${password} 镜像名称:tag

Tags :

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注