清华主页 - 清华新闻 - 综合时讯 - 正文

修改Docker默认镜像和容器存储位置(超详细!!!)

Ubuntu20.040 修改Docker的默认镜像和容器存储位置。

Docker 在默认安装情况下,会使用。 /var/lib/docker/。存储目录和#xff0目录c;用于存放拉取镜像和创建容器等。但由于该目录一般位于系统盘,遇到系统盘比较小󿀌镜像和容器太多后很容易尴尬,这里解释一下如何修改 Docker 存储目录。

最简单粗暴的方法,当然是直接将数据盘挂载到。 /var/lib/docker。࿰在目录下c;但是这对整体影响太大了c;使用数据盘时,其他程序非常不方便,也可以使用软链接。 /var/lib/docker。与数据盘目录连接也可以实现,但后期维护可能不方便,所以还是从 Docker 从修改端开始。

需要提前了解。

  • Docker 目前使用的。默认存位。
  • Docker 目前使用的。存储驱动程序。
  • 存放镜像和容器。新的存储空间。

首先,查看当前docker的默认存储目录。

docker。info。

在这里插入图片描述

  • docker存储驱动程序和默认存位:
Storage Driver: overlayDocker Root Dir: /var/lib/docker。

二、停止docker服务。

sudo。systemctl stop docker.service。

三、目录迁移。

3.1 创建新的docker目录,df执行命令 -h,找个大磁盘。 我在/mnt目录下建造了它 /mnt/docker目录,执行命令为:
# 查看文件夹的大小。sudo。du。-hd。1。sudo。mkdir。-p。/mnt/docker。
3.2 迁移/var/lib/docker目录下的文件到 /home/docker。
sudo。cp。-r。/var/lib/docker/* /mnt/docker/。

修改配置文件。

4.1 编辑。 /etc/docker/daemon.json。文件。
sudo。vim。/etc/docker/daemon.json。

默认情况下没有这个配置文件,这实际上是一个新的,然后写以下内容:

{ 。"registry-mirrors":。[。"http://hub-mirror.c.163.com"]。,  "data-root":。"/mnt/docker"}。
4.2 编辑docker配置文件a;
sudo。vim。/etc/systemd/system/multi-user.target.wants/docker.service。# Execstart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock修改以下内容:ExecStart。=/usr/bin/dockerd。 --graph。=/mnt/docker --storage-driver。=overlay。

在这里插入图片描述

五、保存退出,然后重启 docker 服务。

  • 重启docker服务󿼌docker默认镜像容器的保存位置࿰可以更新c;特别注意༌如果原容器保存位置的所有内容都复制在新的保存位置,然后镜像数据等也会迁移过来。
sudo。systemctl daemon-reload。sudo。systemctl restart。 docker。sudo。systemctl status。 docker。

检查docker的存储路径是否配置成功。

docker。info。

在这里插入图片描述

七、启动成功后,再次确认之前的镜像仍然存在。

docker。ps。-a。docker。images。

8.确定容器和镜像后删除/var/lib/docker/目录中的文件。

rm。-rf。/var/lib/docker/*。

docker主要是文件系统的隔离,因此,每个镜像和容器实际上都依赖于块隔离的硬盘空间(部署一个隔离文件系统),因此,可以通过直接复制迁移,而且不必担心有什么依赖关系不能通过拷贝带过去。

注:仅供学习参考,如有不足,请指正!

2025-06-24 11:40:02

相关新闻

清华大学新闻中心版权所有,清华大学新闻网编辑部维护,电子信箱: news@tsinghua.edu.cn
Copyright 2001-2020 news.tsinghua.edu.cn. All rights reserved.