← Back to list
2025-06-30T11:22:24.657Z阿里云ACK

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

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

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

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

安装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

Comments & discussion

The first comment in each thread opens a topic. Signed-in readers can keep the conversation going under that topic.

No comments yet. Sign in to start a topic.

Start a new topic

Sign in to start a topic or join the discussion.