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

143次阅读
没有评论

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

  1. 确认运行位置,停止 Docker 服务

    默认情况下,Docker 镜像和容器数据存储在 /var/lib/docker 目录下。为了能够确认一下最好执行下命令docker info|grep "Docker Root Dir"。在更改存储位置之前,首先要停止 Docker 服务。在终端中输入以下命令以停止 Docker 服务:

    sudo systemctl stop docker
    
  2. 创建一个目录用于存储 Docker 数据

    在新的硬盘上创建一个目录,用于存储 Docker 的数据。你可以使用 mkdir 命令来创建目录。例如,如果你要将 Docker 数据存储在 /mnt/new_location 目录下,可以使用以下命令:

    sudo mkdir -p /mnt/new_location/docker
    

    这个命令会在 /mnt/new_location 目录下创建一个名为 docker 的子目录。你可以根据需要更改目录路径和名称。

  3. 复制现有 Docker 数据到新的目录

    如果你想将现有的 Docker 数据复制到新的目录,可以使用 rsync 命令来复制。例如,如果当前 Docker 数据存储在 /var/lib/docker 目录下,可以使用以下命令来将数据复制到新的目录:

    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 文件,并添加以下内容:

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

    这个配置文件告诉 Docker 使用 /mnt/new_location/docker 目录作为新的存储位置。

  5. 重启 Docker 服务

    最后,重新启动 Docker 服务以使更改生效。在终端中输入以下命令以重新启动 Docker 服务:

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

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

正文完
 0
板面杂货铺
版权声明:本站原创文章,由 板面杂货铺 于2023-06-01发表,共计1129字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。