这是最推荐的方法,将Docker的整个数据目录(包括镜像、容器等)迁移到数据盘。
停止Docker服务:
sudo systemctl stop docker
创建新的数据目录(假设数据盘挂载在/data):
sudo mkdir -p /data/docker
编辑Docker配置文件:
sudo vim /etc/docker/daemon.json
添加以下内容:
{
"data-root": "/data/docker"
}
复制现有数据(可选):
sudo rsync -aP /var/lib/docker/ /data/docker/
启动Docker服务:
sudo systemctl start docker
如果不想修改Docker配置,可以使用符号链接:
停止Docker服务:
sudo systemctl stop docker
移动现有数据:
sudo mv /var/lib/docker /data/docker
创建符号链接:
sudo ln -s /data/docker /var/lib/docker
启动Docker服务:
sudo systemctl start docker
如果只想移动镜像存储而不移动其他Docker数据:
停止Docker服务:
sudo systemctl stop docker
创建新的镜像存储目录:
sudo mkdir -p /data/docker-images
编辑Docker配置文件:
sudo vim /etc/docker/daemon.json
添加以下内容:
{
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true",
"overlay2.size=100G"
],
"graph": "/data/docker-images"
}
启动Docker服务:
sudo systemctl start docker
验证Docker是否使用了新的存储位置:
docker info | grep "Docker Root Dir"
应该显示你设置的新路径。