如何在撰写文件版本2

时间:2016-02-29 11:24:32

标签: spring mongodb docker docker-compose

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

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

在localhost" / home / dbdata / mongodb" ,我保存了一些数据。它可以通过mongo容器读取。

但我不知道如何更新撰写文件版本2 。我已将docker和docker-compose更新为最新版本。

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

但春季用户帐户服务无法读取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.

可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

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

这应该有效。您不必对主机卷进行任何更改。它对指定的卷很重要。

相关问题