默认情况下,Docker 会将其所有的数据(包括下载的镜像、容器、卷以及网络等)存储在
/var/lib/docker
目录下,但是这个目录一般在根目录下,有时根目录空间紧张,你可以通过修改 Docker 的配置文件来更改这个默认存储位置。
以下是如何更改 Docker 存储位置的方法:
-
停止 Docker 服务:
bashsudo systemctl stop docker
bashsudo mkdir -p /mnt/docker-data
-
创建新的存储目录:
比如,你想将 Docker 数据存储在
/mnt/docker-data
下,你可以先创建这个目录: -
修改 Docker 配置文件:
默认情况下,Docker 使用
/etc/docker/daemon.json
配置文件。如果这个文件不存在,可以创建一个新的。bashsudo nano /etc/docker/daemon.json
在里面添加(或修改)以下内容:
json{ "data-root": "/mnt/docker-data" }
-
迁移现有的 Docker 数据(如果需要):
如果你已有一些 Docker 数据,并想将其迁移到新的目录,可以使用
rsync
或者cp
命令:bashsudo rsync -aP /var/lib/docker/ /mnt/docker-data/
或者:
bashsudo cp -a /var/lib/docker/. /mnt/docker-data/
-
更新目录权限:
确保 Docker 对新的目录有正确的权限:
bashsudo chown -R root:root /mnt/docker-data sudo chmod -R 755 /mnt/docker-data
-
启动 Docker 服务:
重新启动 Docker 服务以使配置生效:
bashsudo systemctl start docker
-
验证配置:
通过运行以下命令来验证 Docker 是否在新的数据目录下运行:
bashdocker info | grep "Docker Root Dir"
你应该看到输出类似于
Docker Root Dir: /mnt/docker-data
。
这一步之后,Docker 将会使用新的目录 /mnt/docker-data
来存储镜像和容器数据。