docker 卷容器(挂载主机目录)如何在 compose 文件版本 2 中使用

How docker volume container (mounted a host directory ) used in compose file version 2

在撰写文件版本 1 中,我的 docker-compose.yml 是:

mongo:
    image: mongo
    volumes_from:
      -  mongodata
mongodata:
    image: mongo
    volumes:
       - /home/dbdata/mongodb:/data/db

在本地主机“/home/dbdata/mongodb”中,我保存了一些数据。并且可以通过mongo容器读取。

但我不知道如何更新到 compose 文件版本 2。我已经更新了 docker 和 docker-compose 到最新。

Docker version 1.10.2, build c3959b1
docker-compose version 1.6.2, build 4d72027
OS: ubuntu 15.10

I tried three ways ,but not working.

一个:撰写文件是:

version: '2'
services:
  mongo:
    image: mongo
    volumes_from:
      -  mongodata
    networks:
      - wfij

  mongodata:
    image: mongo
    volumes:
       - /home/dbdata/mongodb:/data/db

 # this is a spring cloud service , it can read mongo user data
  useraccount:
    image: user-account
    networks:
      - wfij
networks:
  wfij:
    driver: bridge

但是 spring 用户帐户服务无法读取 mongo 数据。

Another method: the compose file

-

version: '2'
services:

  mongo:
    image: mongo
    volumes:
      -  mongo-data:/data/db
    networks:
      - wfij

  useraccount:
    image: user-account
    networks:
      - wfij


networks:
  wfij:
    driver: bridge
volumes:
  mongo-data:
    volumes: home/dbdata/mongodb

它再次不起作用,错误是:“不支持卷”,但是如果我没有设置卷容器,我该如何挂载主机目录"home/dbdata/mongodb" 到音量 .

last , try this :

mongo:
    image: mongo
    volumes:
      -  mongo-data
voluems:
  - mongo-data: /home/keryhu/dbdata/mongodb:/data/db

错误是:

ERROR: In file './docker-compose.yml', volume 'mongo-data' must be a mapping not a string.

可以帮我吗?

version: '2'
services:
  mongo:
    image: mongo
    volumes_from:
      -  mongodata
  mongodata:
    image: mongo
    volumes:
       - /home/dbdata/mongodb:/data/db

这应该有效。您不必对主机卷进行任何更改。它只对命名卷很重要。