Ubuntu Docker更改默认镜像和容器存储位置
测试操作系统: 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
作者:buildings
声明 :对于转载分享我是没有意见的,出于对博客园社区和作者的尊重请保留原文地址哈。
致读者 :坚持写博客不容易,写高质量博客更难,我也在不断的学习和进步,希望和所有同路人一道用技术来改变生活。觉得有点用就点个赞哈。