你遇到的问题是由于 `containerd` 版本更新导致的配置变更。在 `containerd v1.5` 及以后的版本中,`mirrors` 属性已经被弃用,取而代之的是使用 `config_path` 来指定镜像源配置文件。 以下是如何配置国内镜像源的步骤: 1. 创建或编辑 `config.toml` 文件 首先,你需要创建一个 `config.toml` 文件,或者编辑现有的 `config.toml` 文件。这个文件通常位于 `/etc/containerd/config.toml`。 ```toml version = 2 [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://hub-mirror.c.163.com"] ``` 2. 修改 `containerd` 服务配置 确保你的 `containerd` 服务配置文件指向新的 `config.toml` 文件。这通常在 `/etc/containerd/containerd.conf` 文件中进行配置。 ```toml [plugins."io.containerd.grpc.v1.cri"] config_path = "/etc/containerd/config.toml" ``` 3. 重启 `containerd` 服务 完成上述配置后,需要重启 `containerd` 服务以使更改生效。 ```sh sudo systemctl restart containerd ``` 4. 验证配置 你可以通过拉取一个镜像来验证配置是否生效。例如: ```sh sudo ctr images pull docker.io/library/nginx:latest ``` 如果一切正常,你应该能够看到镜像被成功拉取。 注意事项 - 确保你的 `config.toml` 和 `containerd.conf` 文件路径正确无误。 - 如果你使用的是其他容器运行时(如 `Docker`),请确保它们也使用了正确的镜像源配置。 通过以上步骤,你应该能够解决由于 `containerd` 版本更新导致的镜像源配置问题。 [2024-12-08 14:56:27 | AI写代码神器 | 520点数解答]