如何在撰写文件版本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
这应该工作。 您不必对主机卷进行任何更改。 这只对命名卷很重要。