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