Docker 使用默认的存储位置来存储镜像和容器数据。如果默认存储位置的空间不够,或者你想要将镜像和容器数据存储在其他硬盘上,你可以按照以下步骤更改镜像和容器的存储位置:
- 确认运行位置,停止 Docker 服务
默认情况下,Docker 镜像和容器数据存储在
/var/lib/docker
目录下。为了能够确认一下最好执行下命令docker info|grep "Docker Root Dir"
。在更改存储位置之前,首先要停止 Docker 服务。在终端中输入以下命令以停止 Docker 服务:
|
|
- 创建一个目录用于存储 Docker 数据
在新的硬盘上创建一个目录,用于存储 Docker 的数据。你可以使用
mkdir
命令来创建目录。例如,如果你要将 Docker 数据存储在/mnt/new_location
目录下,可以使用以下命令:
|
|
这个命令会在 /mnt/new_location
目录下创建一个名为 docker
的子目录。你可以根据需要更改目录路径和名称。
3. 复制现有 Docker 数据到新的目录
如果你想将现有的 Docker 数据复制到新的目录,可以使用 rsync
命令来复制。例如,如果当前 Docker 数据存储在 /var/lib/docker
目录下,可以使用以下命令来将数据复制到新的目录:
|
|
这个命令会将 /var/lib/docker
目录下的所有文件和子目录复制到 /mnt/new_location/docker/
目录下。这个过程可能会花费一些时间,具体取决于数据的大小和硬盘的速度。
4. 更改 Docker 配置文件
现在你需要更改 Docker 的配置文件,以便 Docker 使用新的存储位置。编辑 /etc/docker/daemon.json
文件,并添加以下内容:
|
|
这个配置文件告诉 Docker 使用 /mnt/new_location/docker
目录作为新的存储位置。
5. 重启 Docker 服务
最后,重新启动 Docker 服务以使更改生效。在终端中输入以下命令以重新启动 Docker 服务:
|
|
现在 Docker 将使用新的存储位置来存储镜像和容器数据。如果你想要将 Docker 数据移回默认位置,只需将 daemon.json
文件中的 data-root
属性设置为 /var/lib/docker
即可。