2017-05-18 33 views
0

我想上传两个容器中使用泊坞窗,撰写到Bluemix:bluemix搬运工,撰写串指数必须是整数

docker-compose -f docker-compose-bluemix.yml up -d 

docker-compose-bluemix.yml文件是:

api: 
    image: registry.eu-gb.bluemix.net/mycompany/java 
    container_name: java-identity-verification-sdk-container 
    ports: 
    - 8080:8080 
    volumes: 
    - java-identity-verification-sdk:/data 
    links: 
    - mongo 
mongo: 
    image: registry.eu-gb.bluemix.net/mycompany/mongo 
    container_name: mongo-identity-verification-sdk-container 
    volumes: 
    - mongo-identity-verification-sdk:/data/db 
    ports: 
    - 27017:27017 

有没有特别的docker-compose-bluemix.yml中的字符(如标签)。 图像先前已上传到Bluemix,并且还创建了两卷java-identity-verification-sdkmongo-identity-verification-sdk

我得到这个错误:

Starting ongo-identity-verification-sdk-container 
Creating java-identity-verification-sdk-container 

ERROR: for api string indices must be integers 
Traceback (most recent call last): 
    File "bin/docker-compose", line 3, in <module> 
    File "compose/cli/main.py", line 64, in main 
    File "compose/cli/main.py", line 116, in perform_command 
    File "compose/cli/main.py", line 876, in up 
    File "compose/project.py", line 416, in up 
    File "compose/parallel.py", line 66, in parallel_execute 
TypeError: string indices must be integers 
Failed to execute script docker-compose 

为什么? (顺便说一下,为什么它会说“开始ongo身份验证-SDK-容器”?它应该是“蒙戈”,而不是“ongo”)

回答

0

错误信息是说的撰写的方式“出事错误”。

从查看撰写文件,我的猜测是,你需要宣布卷为外部,以便撰写使用已经在那里,而不是试图创建它们。 (假设您已经预先创建了cf ic volume create - 如果没有,则需要首先完成)

例如,添加一个节:

volumes: 
    java-identity-verification-sdk: 
    external: true 
    mongo-identity-verification-sdk: 
    external: true 

至于缺少的第一个字母 - 看起来像一个错误。