目前有一个国产机需要部署 gitea ,机器运行银河麒麟 V10 SP1 系统,内核版本 5.4.18-110 。机器内有一个固态盘装系统,一个机械盘存储数据( exfat 格式,目录/media/kylin/data
)。
docker-compose 中 volume 配置如下:
volumes:
- /media/kylin/data/docker/gitea/data:/data
- /media/kylin/data/docker/gitea/config:/etc/gitea
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
此配置运行正常,初始化 gitea 完成后已经上传了数个项目。但是机器重启之后系统又需要初始化,先前在 gitea 的上传的项目全部消失。排查发现/media/kylin/data
这个目录变更到了/media/kylin/data1
。目前/media/kylin/
这个目录有两个子目录:data 和 data1 ,data 内目录结构与 data1 相同,但之前/media/kylin/data/docker/gitea/data
的内容在/media/kylin/data1/docker/gitea/data
中,config 目录也是。
我还有一个 PostgreSQL 服务使用 docker 部署,但其 volume 没有被移动到 data1 。
重新初始化 gitea 服务,上传项目,重启后 data 和 config 又被移动到了 data2 目录,现在/media/kylin/
这个目录下有三个子目录:data 、data1 、data2 !
在系统自带的文件管理器中查看,发现确实有三个文件夹,但名字与终端中的目录名不同,分别为:data 、data 、data1 ,有两个 data 文件夹。
现在部署以后就不能重启了,一重启那个 data 卷就会跑路,不知道是谁的问题?
对 Linux 不是很了解,还望各位大佬赐教。
1
Judoon 1 天前 ![]() 你这个机械盘的挂载有写到/etc/fstab 吗?
大概率是有一个独立的服务检测磁盘并执行挂载,而你的 docker 启动在此之前,把目录先创建占用了。所以他依次往下创建目录 |
![]() |
2
churchmice 1 天前 via Android
你得去看/etc/fstab,用 uuid 去 mount
|
3
TimG OP |
![]() |
4
kokutou 1 天前 via Android
是的 fatab 重新写一下,用 uuid 或者 lvm
|
5
yinmin 1 天前 via iPhone
docker 跑的目录,建议别用 exfat ,改用 ext4 。因为 exfat 不是日志文件系统,万一系统掉电、系统崩溃,数据就废了,尤其是存储数据库。
exfat 只适合热备份文件,不适合频繁读写的数据,尤其是数据库文件。 |