2017-07-03 59 views
0

在我的項目中,我有幾個由docker-compose管理的容器。我想將數據從mongoDB存儲在持久捲上。 MongoDB似乎將數據存儲在/ data/db中,但是文件不會傳輸到我的主機文件系統,並且在重建容器後它們會消失。使用docker-compose爲音量節省mongodb

這裏是我的搬運工,撰寫配置文件:

 
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

您嘗試使用所謂的「命名卷」被保存在裏面泊塢窗本身。要將卷掛載到文件系統,只需寫入路徑而不是卷名。 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 
+0

非常感謝你:) – plewa1a2a3a