🎉 Sealos 首充折扣,限时返场!最高立返 10000,活动日期 4月22日-4月28日
Sealos Logo

如何使用 sealos作为私有容器仓库

了解如何使用sealos作为私有容器仓库,包括image-cri-shim守护进程、sealos登录、Docker客户端配置及镜像推送与拉取的详细步骤。

工作原理

每个节点都会运行一个 image-cri-shim 守护进程,Kubelet 在拉取镜像的时候会发起一个 grpc 交互命令到 image-cri-shim。该进程会根据镜像名字在私有仓库里面查找,存在则从本地拉取,否则从远端拉取。

执行如下命令来验证 image-cri-shim 守护进程状态:

$ systemctl status image-cri-shim.service 

私有仓库在哪里运行

sealos 的私有仓库默认运行在集群的第一个节点上,第一个节点是指创建集群的时候输入的第一个节点的地址,使用下面的命令查看守护进程的状态。

$ systemctl status registry.service 

**注意:**仓库的数据保存在 /var/lib/sealos/data/default/rootfs/registry/ 目录下。

登录私有容器镜像仓库

sealos 私有仓库使用 --net host 参数运行在 HTTP 下,应当在本地配置 insecure-registries,然后使用第一个节点的 IP 地址进行连接,Docker 客户端配置参考如下:

{
  "insecure-registries": ["192.168.1.10:5000"],
}

使用 sealos login 命令来进行登录,默认用户名与密码是 admin:passw0rd

sealos login -u admin -p passw0rd 192.168.1.10:5000

也可以使用 docker login 命令。

docker login -u admin -p passw0rd 192.168.1.10:5000 

推送与拉取镜像

推送镜像案例:

$ sealos tag quay.io/skopeo/stable 192.168.72.50:5000/skopeo/stable
$ sealos push 192.168.72.50:5000/skopeo/stable
Using default tag: latest
The push refers to repository [192.168.72.50:5000/skopeo/stable]
a98b3d943f46: Pushed 
b48290351261: Pushed 
f39ec3c22bd5: Pushed 
e5a31cf70f11: Pushed 
b9394289d761: Pushed 
c550c8e0f355: Pushed 
latest: digest: sha256:238efd85942755fbd28d4d23d1f8dedd99e9eec20777e946f132633b826a9295 size: 1570

拉取镜像案例:

sealos pull 192.168.72.50:5000/skopeo/stable

或者使用 docker pull 命令:

docker pull 192.168.72.50:5000/skopeo/stable
在 GitHub 上编辑

最后更新于

本页导航