vim /etc/docker/daemon.json{ "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"]}
时间: 2025-05-09 14:19:05 浏览: 21
### 正确配置 Docker Daemon
为了实现通过 `daemon.json` 文件配置 Docker 守护程序以使用阿里云镜像加速并设置 cgroup 驱动为 systemd,需按照以下方法操作。
#### 1. 编辑或创建 `daemon.json` 文件
Docker 自 V1.12 版本起支持通过 `daemon.json` 文件进行全局配置[^2]。此文件通常位于 `/etc/docker/daemon.json` 路径下。如果该文件不存在,则需要手动创建。
以下是适合当前需求的配置内容:
```json
{
"registry-mirrors": ["https://<your-aliyun-id>.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
```
> **注意**: `<your-aliyun-id>` 是阿里云分配给用户的唯一 ID,请替换为您自己的实际值[^4]。
上述配置中:
- `"registry-mirrors"` 参数用于指定镜像加速地址,这里填写的是阿里云提供的镜像加速服务 URL。
- `"exec-opts"` 参数设置了容器使用的 cgroup 驱动为 `systemd`,这有助于与 Kubernetes 或其他依赖于相同 cgroup 驱动的服务兼容[^1]。
#### 2. 检查冲突配置
在某些情况下,系统默认的 Docker 启动脚本可能已经包含了类似的选项(如 `--exec-opt native.cgroupdriver=systemd`),这可能导致重复定义而引发错误。因此,在编辑完成 `daemon.json` 文件后,建议检查系统的 Docker 服务启动配置文件是否存在冗余项。
具体路径通常是 `/lib/systemd/system/docker.service`,打开文件查看是否有如下行存在:
```bash
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd
```
如果有以上内容,应移除其中的 `--exec-opt native.cgroupdriver=systemd` 部分,仅保留基础命令部分,例如:
```bash
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
```
完成后保存更改,并重新加载服务配置[^3]。
#### 3. 应用新配置
为了让新的 `daemon.json` 设置生效,需要执行以下命令重启 Docker 服务:
```bash
sudo systemctl daemon-reload
sudo systemctl restart docker
```
此时,Docker 将依据更新后的配置运行,包括启用阿里云镜像加速以及切换到 `systemd` 的 cgroup 驱动模式。
---
###
阅读全文
相关推荐



















