您现在的位置是:首页 >技术交流 >docker更改默认镜像和容器存储位置网站首页技术交流

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

sy95122 2023-06-21 12:00:03
简介docker更改默认镜像和容器存储位置

Ubuntu版本:22.04

docker版本:23.0.5

        无论是生成镜像还是加载镜像时,系统总提示var分区空间不足,无奈在网上寻找更改容器存储,不同的方法试了4、5种,总是出错,最后在一个老外的网站上发现新版本docker的指令参数发生了改变:graph参数改成了data-root

        以下方法来源于这篇文章:https://blog.csdn.net/m0_60827485/article/details/125197867,我只修改了其中的一个参数,完美更改容器存储位置。

=========================================================================


前提需要了解:

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

开启docker来更新配置并查寻信息:

sudo systemctl daemon-reload
sudo systemctl start docker
docker info

在输出的信息中可找到Docker Root Dir已更改

Docker Root Dir: /home/data/docker

更改完成! 


当然还有其他的更改方法,找到一个有效的就足够。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。