简介
Docker 在长时间使用后,可能会因为镜像和容器的积累导致默认存储空间不足。本技术文档将指导您如何安全地将 Docker 的镜像和容器存放路径修改至挂载的磁盘中,以解决空间不足的问题。请确保在操作前,您的目标磁盘已经成功挂载。
查看 Docker 当前信息
在开始之前,可以通过以下命令查看 Docker 的当前存储配置信息:
docker info
方法:使用软链接迁移
步骤
- 停止 Docker 服务
sudoservicedocker stop
- 备份并迁移数据将原有 Docker 数据迁移到新的存储路径,例如
/path/docker
:sudocp-r /var/lib/docker/* /path/docker
- 备份原 Docker 目录为了安全,先备份原 Docker 数据目录:
sudomv /var/lib/docker /var/lib/dockerbak
- 创建软链接创建从原位置到新位置的软链接:
sudoln-s /path/docker /var/lib/docker
- 启动 Docker 服务
sudoservicedocker start
- 验证与清理检查 Docker 是否正常工作,确认无误后可考虑删除原备份:
sudorm-rf /var/lib/dockerbak
注意
虽然 Docker 显示的存储路径仍是
/var/lib/docker
,但实际上数据已存储在指定的数据盘上。
方法:通过 daemon.json 配置(推荐)
适用场景
对于 Docker 1.12 或以上版本,推荐使用此方法,尤其是在 Docker 初次安装后立即调整,避免后续因路径变更引发的问题。
步骤
- 停止 Docker 服务(可选,但建议)
- 编辑 daemon.json 文件如果文件不存在,则创建它:
sudovim /etc/docker/daemon.json
添加如下内容:{"graph":"/path/docker"}
其中/path/docker
是您希望设置的新存储路径。 - 重启 Docker 服务
sudo systemctl restart docker
- 迁移已有数据(如有需要)如果 Docker 已经有数据,需要手动迁移旧数据至新路径,例如:
sudocp-R /var/lib/docker/* /path/docker/
- 验证修改运行
docker info
检查存储路径是否已更改为新的位置。
以上就是修改 Docker 镜像和容器存放路径的方法。根据您的具体需求和 Docker 版本,选择最合适的方法进行操作。务必谨慎处理数据迁移,以防重要数据丢失。
版权归原作者 以琦琦为中心 所有, 如有侵权,请联系我们删除。