Docker默认将镜像和容器存放在/var/lib/docker
下,而通常而言,根目录的空间并不是非常大。一旦用的多了,就会让空间不够,因此,我们需要给Docker搬个家,步骤如下
1. 停止 Docker
首先停止 Docker 服务以防止数据更改:
sudo systemctl stop docker
2. 创建新的存储位置
选择新的位置,例如 /data/docker
,并确保目标磁盘具有足够的空间:
sudo mkdir /data/docker
3. 复制数据
将当前的 Docker 数据复制到新的存储位置:
sudo rsync -aP /var/lib/docker/ /data/docker
这一步,数据越多,需要等待时间越久。
4. 配置 Docker 使用新的存储位置
编辑 Docker 的配置文件 daemon.json
,如果不存在则创建它:
sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json
将以下内容写入文件:
{
{ 可能的其他配置信息 },
"data-root": "/data/docker"
}
保存并关闭编辑器。
5. 备份并移动原始数据
备份原始数据(可选)并清除原始数据目录:
sudo mv /var/lib/docker /var/lib/docker.bak
6. 创建符号链接
为了防止任何工具直接访问旧的目录位置,将其重定向到新位置:
sudo ln -s /data/docker /var/lib/docker
7. 重启 Docker
重新启动 Docker 服务:
sudo systemctl start docker
8. 检查配置
验证 Docker 是否正确使用新的存储位置:
docker info | grep "Docker Root Dir"
输出应显示新位置 /data/docker
。
如果一切工作正常,并且确定不再需要备份,可以删除它:
sudo rm -rf /var/lib/docker.bak
通过这些步骤,Docker 将使用新的存储位置,后续也就不愁空间不够了。