首页 » DevOps » Docker » podman更改数据存储目录

podman更改数据存储目录

 

在使用podman运行容器时,随着容器和镜像数量的增加,默认存储目录可能会面临空间不足的问题。本文基于podman 4.9.4版本,通过两种方法来设置podman数据存储目录。

podman的默认配置文件在/etc/containers/storage.conf,其中runroot和graphroot是两个关键目录配置项,分别用于管理容器和镜像的存储位置。

runroot(临时运行时数据)

默认路径/run/containers/storage,该目录用于存储容器运行时的临时数据。如:容器运行的状态文件、短期存储的元数据、正在运行的容器的临时文件系统等。

特点:该目录中的数据通常是临时性的,容器停止后部分内容会被清理。

graphroot(持久化存储数据)

默认路径/var/lib/containers/storage,该目录用于存储持久化的容器和镜像数据。如:镜像层、容器的持久化文件系统、卷、存储驱动管理的内容等。

特点:该目录中的数据是持久化的,即使重启服务器,数据也会保留,占用磁盘空间较大(依赖镜像和容器数量)。

配置项数据性质典型路径是否持久化主要用途
runroot临时运行时数据/run/containers/storage容器运行时的临时状态和文件
graphroot持久化存储数据/var/lib/containers/storage镜像、容器文件系统、卷等

数据存储路径修改

方法一:

直接修改配置文件

修改对应字段,修改保存“即时生效”

如果希望保留原有的镜像和容器,需手动迁移数据,例如

验证

此时所看到的graphRoot、runRoot路径就应该是修改后的了。

方法二:

不修改配置文件,软链方式

总结:通常情况下,应优先考虑修改graphroot存储路径,不建议修改runroot的路径,因为/run是内存文件系统(tmpfs),读写速度快,无需持久化。

原文链接:podman更改数据存储目录,转载请注明来源!

0