Featured image of post docker更改容器和镜像的存储位置

docker更改容器和镜像的存储位置

Docker 使用默认的存储位置来存储镜像和容器数据。如果默认存储位置的空间不够,或者你想要将镜像和容器数据存…

Docker 使用默认的存储位置来存储镜像和容器数据。docker 更改容器和镜像的存储位置如果默认存储位置的空间不够,或者你想要将镜像和容器数据存储在其他硬盘上,你可以按照以下步骤更改镜像和容器的存储位置:

  1. 确认运行位置,停止 Docker 服务 默认情况下,Docker 镜像和容器数据存储在 /var/lib/docker 目录下。为了能够确认一下最好执行下命令docker info|grep "Docker Root Dir"。在更改存储位置之前,首先要停止 Docker 服务。在终端中输入以下命令以停止 Docker 服务:
1
sudo systemctl stop docker
  1. 创建一个目录用于存储 Docker 数据 在新的硬盘上创建一个目录,用于存储 Docker 的数据。你可以使用 mkdir 命令来创建目录。例如,如果你要将 Docker 数据存储在 /mnt/new_location 目录下,可以使用以下命令:
1
sudo mkdir -p /mnt/new_location/docker

这个命令会在 /mnt/new_location 目录下创建一个名为 docker 的子目录。你可以根据需要更改目录路径和名称。 3. 复制现有 Docker 数据到新的目录 如果你想将现有的 Docker 数据复制到新的目录,可以使用 rsync 命令来复制。例如,如果当前 Docker 数据存储在 /var/lib/docker 目录下,可以使用以下命令来将数据复制到新的目录:

1
sudo rsync -axP /var/lib/docker/ /mnt/new_location/docker/

这个命令会将 /var/lib/docker 目录下的所有文件和子目录复制到 /mnt/new_location/docker/ 目录下。这个过程可能会花费一些时间,具体取决于数据的大小和硬盘的速度。 4. 更改 Docker 配置文件 现在你需要更改 Docker 的配置文件,以便 Docker 使用新的存储位置。编辑 /etc/docker/daemon.json 文件,并添加以下内容:

1
2
3
4
5
6


|  | { |
| --- | --- |
|  | "data-root": "/mnt/new_location/docker" |
|  | } |

这个配置文件告诉 Docker 使用 /mnt/new_location/docker 目录作为新的存储位置。 5. 重启 Docker 服务 最后,重新启动 Docker 服务以使更改生效。在终端中输入以下命令以重新启动 Docker 服务:

1
2
3
4
5


|  | sudo systemctl start docker |
| --- | --- |
|  | 再次执行下命令 docker info|grep "Docker Root Dir" 查看目录是否更改生效。 |

现在 Docker 将使用新的存储位置来存储镜像和容器数据。如果你想要将 Docker 数据移回默认位置,只需将 daemon.json 文件中的 data-root 属性设置为 /var/lib/docker 即可。

转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
使用 Hugo 构建
主题 StackJimmy 设计