标签(空格分隔):containerd 系列


一: 准备好 镜像仓库 vmware harbor

1.1 安装 好 vmware harbor

此处如何安装vmware harbor 仓库忽略

image.png
image.png

1.2 修改containerd 的配置文件

vim /etc/container/config.toml 
在配置文件里面加上:
----
 [plugins.cri.registry.mirrors."flyfishsrvs03"]
          endpoint = [
            "http://172.16.10.13"
          ]
---
从新启动containerd 

重启containerd,以便于重新加载配置文件。
# systemctl restart containerd

image.png
image.png

1.3 打包镜像tag

重新生成新的tag
# ctr images tag docker.io/library/nginx:alpine flyfishsrvs03/library/nginx:alpine
# ctr images ls |grep alpine

image.png

1.4 提交镜像

ctr images push --platform linux/amd64 --plain-http -u admin:Harbor12345 flyfishsrvs03/library/nginx:alpine

说明:

* 先tag再push
* 因为我们harbor是http协议,不是https协议,所以需要加上`--plain-http`
* `--user admin:Harbor12345`指定harbor的用户名与密码

image.png
image.png

1.5 下载 提交 的镜像

ctr images pull --plain-http flyfishsrvs03/library/nginx:latest

image.png
image.png

二:containerd 的namespaces 管理

2.1 containerd 的namespaces

containerd中namespace的作用为:隔离运行的容器,可以实现运行多个容器。

# ctr namespaces ls  或者 ctr ns ls 

image.png
image.png

ctr namespace --help

image.png

列出已有namespace
# ctr namespace ls
NAME    LABELS
default

image.png

创建namespace
# ctr namespace create ns-flyfish

[root@localhost ~]# ctr namespace ls
NAME    LABELS
default
ns-flyfish 此命名空间为新添加的

image.png

删除namespace
# ctr namespace rm ns-flyfish
ns-flyfish

再次查看是否删除
[root@localhost ~]# ctr namespace ls
NAME    LABELS
default

image.png

在指定namespace中下载容器镜像
# ctr -n ns-flyfish images pull docker.io/library/nginx:latest
# ctr -n ns-flyfish i ls 

image.png

在指定namespace中创建静态容器
# ctr -n ns-flyfish container create docker.io/library/nginx:latest nginx-test
查看namespaces的静态容器
# ctr -n ns-flyfish i ls 

image.png

创建namespaces静态容器
ctr -n ns-flyfish container create docker.io/library/nginx:latest nginx-test
ctr -n ns-flyfish task start -d nginx-test
ctr -n ns-flyfish task ls 

image.png