docker组成不坚持数据
我有以下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是我之前构build的一个docker镜像。 这样做的问题是在执行docker-compose stop
后数据丢失。 任何人都知道问题是什么?
看起来你正在定义一个卷,但是指定要使用的绑定挂载。
不同的是,在某种意义上,卷实际上是自己的独立“驱动器”,其中绑定挂载需要映射到本地系统上的特定文件path。
如果您检入当地的./pgdata
目录,您应该find您以前的所有数据; 并要解决您的问题,您将要删除./
从中, 只需指定名称pgdata
以便它使用定义的卷。 当然,这会让你重新开始。
撰写-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: {}