如何修改microk8s的docker镜像源

适用于 MicroK8s 版本 1.23 或更高版本

MicroK8s 1.23 及更高版本为每个镜像注册表使用单独的 hosts.toml 文件。对于 docker.io,可以在 /var/snap/microk8s/current/args/certs.d/docker.io/hosts.toml 中找到它。

编辑该文件,使其内容看起来像这样:


# /var/snap/microk8s/current/args/certs.d/docker.io/hosts.toml
server = "https://my.registry.internal:5000"

[host."my.registry.internal:5000"]
capabilities = ["pull", "resolve"]

然后,重新启动 MicroK8s:

microk8s stop
microk8s start

对于 1.22 或更早版本的 MicroK8s

/var/snap/microk8s/current/args/containerd-template.toml 中找到 [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] 部分,并按如下方式对其进行编辑:

# containerd-template.toml
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://my.registry.internal:5000"]

然后,重新启动 MicroK8s:

microk8s stop
microk8s start