podman 存储路径
podman 存储路径
podman默认/var/lib/ 镜像和容器都很大 导致根磁盘空间占用过大 要把podman数据存储到比如/data/podman下
就如下操作就可以了;
podman 中没有数据修改存储路径打开
Podman 配置文件
没有就创建一个
sudo vi /etc/containers/storage.conf
编辑存储配置:
[storage]
driver = “overlay”
runroot = “/data/podman/containers/run”
graphroot = “/data/podman/containers/storage”
重新加载并启动podman服务
sudo systemctl daemon-reload
sudo systemctl restart podman
查看docker配置路径
sudo podman info
这样就修改成功了,
ls /data/podman/containers/storage/
查看 podman 服务运行状态
systemctl status podman
运行状态,那么就没问题了,
拉取镜像或者导入镜像;
2、podman 中有数据迁移修改存储路径注意:如果podman中已经存在了数据,那么就需要吧 <br>/var/lib/containers <br>下的和podman相关的都挪到新的存储目录下 <br> <br>然后在修改boltdb数据库里配置并重启数据库和podman服务方可生效; <br> <br>先移动或复制 --》 在修改配置文件 --》 在修改boltdb`数据库 --》 在重启服务
podman在数据库中可能会存储有运行配置,
默认是在
/var/lib/containers/storage/libpod/bolt_state.db
该数据库中存储了运行配置,则只修改了/etc/containers/storage.conf中的配置是不起作用
podman会优先使用数据库中存储的配置,
/etc/containers/storage.conf
将在/var/lib/containers/复制到修改的路径下
重启之后,可以使用如下的命令来查看详细信息:#
创建一个storage.conf文件
sudo vim /etc/containers/storage.conf
# 编辑配置文件
[storage]
driver = “overlay”
runroot = “/data/podman/containers/run”
graphroot = “/data/podman/containers/storage”
# 重启podman服务
sudo systemctl daemon-reload
sudo systemctl restart podman
# 查看podman服务状态
systemctl status podman
sudo podman info --log-level=debug 所以如果bolt数据库存储了相关配置,
那么无论怎么修改/etc/containers/storage.conf中的配置都会被重载而不起作用
bolt_state.db 一种小众的数据库,格式为bolt,
目前BoltDB不支持直接修改和查看数据库内容,需要使用专门的bolt数据库工具才能查看和修改
https://github.com/etcd-io/bbolt
boltdbweb这款Go写的Web工具来查看和修改
打开runtime-config可以看到里面有graph-root就是podman的存储路径
可以修改graph root、static dir和volume path配置
也可以直接删除掉,让podman直接使用/etc/containers/storage.conf中的配置
bolt_state.db文件非常重要
如果之前已经有很多容器,则里面存储了很多非常重要的信息,如果丢失之前的容器就废了
操作前一定要备份
上一篇: CentOS 图形界面or命令行
下一篇: Podman 镜像源配置
