我有以下docker-compose.yml
文件:
version: '2'
services:
web:
image: myspringapp:1
ports:
- "8080:8080"
depends_on:
- myspringapp_postgres
myspringapp_postgres:
image: postgres:9.4
ports:
- "5432:5432"
volumes:
- ./pgdata:/var/lib/postgresql/data
volumes:
pgdata: {}
mySpringApp是我以前构建的Docker图像。这样做的问题是,执行docker-compose stop
后数据丢失。有人知道问题是什么?
看来您正在定义卷,但指定绑定式安装。
不同的是,在某种意义上,它实际上是它自己的孤立的"驱动器",在某种意义上,绑定需要映射到本地系统上的特定文件路径。
如果您在本地./pgdata
目录中检查,则应找到所有以前的数据;为了解决您的问题,您需要从其中删除./
,并且 Just 指定名称pgdata
,以便使用定义的卷。当然,这会再次开始新鲜。
compose-file.yml
version: '2'
services:
web:
image: myspringapp:1
ports:
- "8080:8080"
depends_on:
- myspringapp_postgres
myspringapp_postgres:
image: postgres:9.4
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata: {}