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

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

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

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

但我不知道如何更新来组成文件版本2 。 我已经更新docker和docker组成最新的。

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

我尝试了三种方法,但没有工作。

一:撰写文件是:

 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数据。

另一种方法:撰写文件

 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”的卷。

最后,试试这个:

 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 

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