首页 文章

使用docker-compose在音量上保存mongodb

提问于
浏览
1

在我的项目中,我有几个由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:

1 回答

  • 2

    您尝试使用存储在docker内部的'named volumes' . 要将卷装入文件系统,只需写入路径而不是卷名 . 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
    

相关问题