momo's Blog.

配置Containerd使其可以拉取私有的registry

字数统计: 393阅读时长: 2 min
2021/10/21 Share

配置私有镜像的仓库

因为kubernetes在20版本以后, 将不会在支持docker,所以将了解一下containerd如何去配置私有镜像.

配置文件

containerd的配置文件在/etc/containerd/config.toml 如果没有的话也可以去主动创建 containerd config default > /etc/containerd/config.toml

查看配置文件, 我们可以找到定义镜像仓库的字段

1
2
3
4
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io"]

按照规则, 我们添加一个我们自己的私有仓库

1
2
3
4
5
6
7
8
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."aaaaa-registry.aaaaa.com"]
endpoint = ["https://aaaaa-registry.aaaaa.com"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry-vpc.cn-hangzhou.aliyuncs.com"]
endpoint = ["https://registry-vpc.cn-hangzhou.aliyuncs.com"]

添加密码配置

1
2
3
4
5
6
7
8
9
10
11
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."daaaaa-registry.aaaaa.com"]
endpoint = ["https://daaaaa-registry.aaaaa.com"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry-vpc.cn-hangzhou.aliyuncs.com"]
endpoint = ["https://registry-vpc.cn-hangzhou.aliyuncs.com"]
[plugins."io.containerd.grpc.v1.cri".registry.configs]
[plugins."io.containerd.grpc.v1.cri".registry.configs."daaaaa-registry.aaaaa.com".auth]
auth = "F3ZXVNOQ=="

注意格式:

  • 格式1, 使用auth,可以去 $ROOT/.docker/config.json 获取字段

    1
    2
    [plugins."io.containerd.grpc.v1.cri".registry.configs."daaaaa-registry.aaaaa.com".auth]
    auth = "F3ZXVNOQ=="
  • 格式2

1
2
3
[plugins."io.containerd.grpc.v1.cri".registry.configs."daaaaa-registry.aaaaa.com".auth]
username = ""
password = ""

重启 Containerd

1
systemctl restart containerd.service

参考文档

CATALOG
  1. 1. 配置私有镜像的仓库
  2. 2. 配置文件
  3. 3. 添加密码配置
  4. 4. 重启 Containerd
  5. 5. 参考文档