关于Ghost官方Docker容器未定义数据持久化卷及持久化方式的咨询
Ghost容器数据持久化的说明
数据存在哪?
Ghost的核心数据(文章、上传的图片、主题、配置文件等)默认存在容器内部的/var/lib/ghost/content目录里。
怎么实现持久化的?
官方Ghost镜像的Dockerfile里已经加了VOLUME /var/lib/ghost/content指令,这会让Docker自动给这个目录分配一个匿名卷。匿名卷的数据会存在宿主机的/var/lib/docker/volumes/[随机生成的ID]/_data路径下,就算你把容器删了,这个卷里的数据也不会丢——除非你手动删除这个匿名卷。
为什么Compose配置里看不到卷?
Docker Hub上给出的默认Compose配置没写卷配置,是因为镜像本身已经声明了匿名卷,Docker会自动处理这部分持久化逻辑。但匿名卷有个缺点:不好识别和管理,你没法直接对应到某个Ghost容器,备份迁移也麻烦。
更靠谱的持久化方案
如果想更可控,建议在Compose里显式配置命名卷或者绑定宿主机目录:
- 命名卷(推荐,Docker管理存储):
services: ghost: image: ghost:latest volumes: - ghost_content:/var/lib/ghost/content volumes: ghost_content:
- 绑定宿主机目录(自己管理存储路径):
services: ghost: image: ghost:latest volumes: - ./ghost-local-content:/var/lib/ghost/content
内容的提问来源于stack exchange,提问作者mario
相关产品推荐
相关产品推荐

