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是我以前构建的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: {} 

最新更新