Docker 默认将所有数据存储在:
/var/lib/docker
现在希望更换位置,比如存到/mnt下面去。
sudo systemctl stop docker
sudo mkdir -p /mnt/vdb/docker
你也可以指定其他路径,比如 /mnt/disk/docker
,只要该目录有足够空间并已挂载好。
Docker 的配置文件在:
sudo vim /etc/docker/daemon.json
如果没有这个文件,可以手动创建它。
修改或添加以下内容:
{ "data-root": "/mnt/vdb/docker" }
如果你不想丢弃原来已有的镜像或容器数据,可以执行以下命令迁移:
sudo rsync -aP /var/lib/docker/ /mnt/vdb/docker/
-a
:归档模式,保留权限、符号链接等
-P
:显示进度,并支持断点续传
sudo systemctl start docker
执行:
sudo docker info | grep "Docker Root Dir"
应输出类似:
Docker Root Dir: /mnt/vdb/docker
rsync
而非 cp
进行迁移,因为它能保留符号链接、权限等信息。