查看: 43|回覆: 0

[Ubuntu] Ubuntu Docker更改默认镜像和容器存储位置

[複製鏈接]

1

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-2-14
發表於 2021-5-7 19:49:00 | 顯示全部樓層 |閲讀模式

测试操作系统: Ubuntu server 20
docker版本:20.10.6

1, 为什么

注: 通常,当开始使用docker时,我们并不太关心Docker 用于存储镜像和容器的默认目录。当使用Docker进行更多实验时,Docker开始占用大量的空间时,你不得不按下紧急按钮。所以现在是时候把故障排除放在如何改变docker的默认存储位置了。

2. 怎么做

方法一:

前提需要了解:

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

Docker 默认的位置在/var/lib/docker,当前所有的镜像、容器都存储在这儿。如果你有任何在运行的容器,停止这些容器,并确保没有容器在运行,然后运行以下命令,确定当前Docker使用的存储驱动

sudo docker info

在输出的信息中,查找Storage Driver那行,并记下:

Storage Driver: overlay2

docker存储根目录:

Docker Root Dir: /var/lib/docker

关闭docker服务:

sudo systemctl stop docker.service

创建一个新的文件夹作为docker镜像新的存储位置,记下这个文件夹的路径:

sudo mkdir -p /data/docker

编辑docker配置文件:

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=/home/data/docker --storage-driver=overlay2

开启docker来更新配置:

sudo systemctl daemon-reload
sudo systemctl start docker

方法二:

然后在将这个文件夹拷贝到新的地方(比如说更大的硬盘上,假设是/data分区,它挂载在一个单独硬盘上):

sudo cp -r /var/lib/docker /data/docker

然后修改docker中默认镜像和容器的保存位置,刚安装docker后没有该文件,需要新建。

sudo vim /etc/docker/daemon.json

将里面的data-root改为新的docker容器存储位置,

“data-root”: “/data/docker”,

然后重启docker服务,就可以更新docker默认的镜像容器保存位置,特别注意,如果新的保存位置里拷贝了原来容器保存位置里的所有内容,那么镜像数据等也就迁移过来了。

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部