容器服务

将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
starbucket
0
Tags :