在我的项目中,我有几个由docker-compose管理的容器。我想将mongoDB中的数据存储在持久卷上。 MongoDB似乎将数据存储在/ data / db中,但文件不会传输到我的主机文件系统,并且在重建容器后它们会消失。
这是我的docker-compose配置文件:
version: '2' services: db: image: mongo:latest volumes: - "db-data:/data/db" ports: - "27017:27017" networks: - elk web: build: ./app environment: - WAIT_COMMAND=1 ports: - "3000:3000" networks: - elk depends_on: - db networks: elk: driver: bridge volumes: db-data:
答案 0 :(得分:4)
您尝试使用所谓的'命名卷'存储在docker本身内部。要将卷装入文件系统,只需写入路径而不是卷名。 https://docs.docker.com/compose/compose-file/#short-syntax-3
version: '2'
services:
db:
image: mongo:latest
volumes:
- /data/db:/data/db
ports:
- "27017:27017"
networks:
- elk
web:
build: ./app
environment:
- WAIT_COMMAND=1
ports:
- "3000:3000"
networks:
- elk
depends_on:
- db
networks:
elk:
driver: bridge