2016-02-29 71 views
2

使用泊坞窗体积容器(安装在主机目录)在撰写文件版本1,我的码头工人,compose.yml是:如何在撰写文件版本2

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

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

但我不知道如何更新到撰写文件版本2。我已经更新了码头和码头组合到最新的。

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 

但是春天的用户帐户服务无法读取蒙戈数据。

另一种方法:在撰写文件

-

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. 

能帮我吗?

+0

您的主机Linux?还是Windows或Mac? – VonC

+0

@VonC ubuntu 15.10 –

+0

也许卷/ mongo-data/volumes语法不受支持? (https://docs.docker.com/compose/compose-file/#volumes-volume-driver) – VonC

回答

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

这应该起作用。您不必对主机卷进行任何更改。这对于已命名的卷唯一很重要。

+0

对不起,根据你的建议,它不起作用,同时运行码头 - 撰写,没有错误。但spring服务无法获取mongo数据 –

+0

那么spring一定会有一些配置问题。你能包括弹簧错误吗? – dnephin