在Docker中,如何更改Docker的默认存储设置?

在Docker中更改默认存储设置(如数据目录、存储驱动等),可以通过以下步骤实现:

1. 修改Docker服务配置文件

通过修改 daemon.json 配置文件来更改默认存储路径或驱动。

步骤:

  1. 创建或编辑配置文件

    sudo nano /etc/docker/daemon.json
    
  2. 添加或修改存储配置

    {
      "data-root": "/new/docker/storage/path",  # 更改默认存储路径
      "storage-driver": "overlay2",             # 指定存储驱动(如overlay2)
      "graph": "/new/docker/storage/path"       # 旧版Docker使用(17.05及以前)
    }
    
  3. 保存并退出

2. 重启Docker服务

配置修改后,重启Docker使更改生效:

sudo systemctl restart docker

验证配置是否生效

docker info | grep -i "root dir"
# 输出应显示新的存储路径

3. 迁移现有数据(可选)

如果已更改存储路径(data-root),需要迁移现有Docker数据:

  1. 停止Docker服务

    sudo systemctl stop docker
    
  2. 复制现有数据到新路径

    sudo rsync -aP /var/lib/docker/ /new/docker/storage/path/
    
  3. 删除旧数据(确认新路径正常工作后)

    sudo rm -rf /var/lib/docker
    

4. 常用存储驱动选项

根据系统支持选择合适的存储驱动:

  • overlay2(推荐):大多数Linux系统支持,性能较好。
  • btrfs:支持快照和克隆,但需要特定文件系统。
  • zfs:高级功能(压缩、快照),但资源消耗较大。

配置示例

{
  "storage-driver": "btrfs",
  "storage-opts": [
    "btrfs.min_space=10GB"  # 设置最小空间
  ]
}

注意事项

  1. 路径权限:确保新存储路径(如 /new/docker/storage/path)有正确的读写权限。
  2. 系统兼容性:不同Linux发行版对存储驱动的支持不同(如Ubuntu默认支持 overlay2,而CentOS需要额外配置)。
  3. 数据备份:迁移数据前务必备份重要容器和镜像。

验证配置

查看Docker详细信息,确认存储配置已更新:

docker info

输出应包含类似内容:

Docker Root Dir: /new/docker/storage/path
Storage Driver: overlay2

通过以上步骤,你可以灵活调整Docker的默认存储设置,满足不同场景的需求。

posted @ 2025-07-30 19:29  天道酬勤zjh  阅读(83)  评论(0)    收藏  举报