如何修改Docker-Compose的数据存储目录?修改daemon.json后未生效
解决Docker根目录未更新的问题
核心原因
修改daemon.json后,必须重启Docker守护进程才能让配置生效,仅通过docker-compose down/up重启容器无法触发配置变更。
完整操作步骤
停止所有运行中的Docker容器(包括Nextcloud相关服务)
sudo docker-compose down sudo docker stop $(sudo docker ps -aq)停止Docker服务
sudo systemctl stop docker(若使用旧版init系统,执行
sudo service docker stop)迁移原有Docker数据到新目录(关键步骤,避免镜像、卷、容器数据丢失)
sudo rsync -aX /var/lib/docker/ /var/lib/docker/volumes/volume_nyc1_01/该命令会完整复制旧目录的所有数据,保留权限与扩展属性,确保数据完整性。
启动Docker服务
sudo systemctl start docker验证配置是否生效
docker info | grep "Docker Root Dir"此时应显示新路径
/var/lib/docker/volumes/volume_nyc1_01。重新启动Nextcloud服务
sudo docker-compose up -d
额外注意事项
- 若
daemon.json为新创建文件,需确保权限正确:执行sudo chmod 644 /etc/docker/daemon.json,防止Docker无法读取配置。 - 迁移后若出现权限问题,可检查新目录所有者:
sudo chown -R root:root /var/lib/docker/volumes/volume_nyc1_01。 - 通过
df -h确认新挂载的卷已正确生效,确保目标路径有足够可用空间。
内容的提问来源于stack exchange,提问作者nick_fh_cl
相关产品推荐
相关产品推荐

