本指南介绍如何在 Linux 系统中修改 Docker 的数据根目录(data-root)以及配置默认基础网段(default-address-pools)。


1. 修改 Docker 数据根目录(data-root)

Docker 默认将镜像、容器、Layer 数据等存放在:
/var/lib/docker

如果你希望将数据存放到其他磁盘(如 /mnt/docker),可以在配置文件中修改。


1.1 编辑 Docker 配置文件

如果文件不存在,需要自行创建:

sudo vim /etc/docker/daemon.json

1.2 添加或修改 data-root 配置

示例:

{
  "data-root": "/mnt/docker"
}

1.3 重启 Docker 服务

修改配置后必须重启 Docker 才能生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

2. 修改 Docker 默认基础网段(docker0 网桥)

Docker 启动时会创建一个默认的 docker0 网桥,其网段通常为:

172.17.0.0/16

如果与局域网或已有网络冲突,可以在 daemon.json 中修改默认的地址池。

⚠️ 注意:部分容器服务可能会受到基础网段变化的影响。


2.1 配置示例

编辑文件:

sudo vim /etc/docker/daemon.json

添加:

{
  "default-address-pools": [
    { "base": "172.16.0.0/12", "size": 24 }
  ]
}

如果同时配置 data-root,可合并:

{
  "data-root": "/mnt/docker",
  "default-address-pools": [
    { "base": "172.16.0.0/12", "size": 24 }
  ]
}

2.2 重启 Docker 使配置生效

sudo systemctl daemon-reload
sudo systemctl restart docker