bluemix docker-composestring索引必须是整数

我正在尝试使用docker-compose将两个容器上传到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,同时还创build了两个卷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 

为什么? (顺便说一下,为什么说“启动身份validation-SDK容器”?它应该是“mongo”,而不是“ongo”)

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

从查看撰写文件,我的猜测是,你需要宣布的卷为外部,所以撰写使用已经在那里,而不是试图创build它们。 (这是假设你已经预先cf ic volume create – 如果你没有,你需要做的第一个以及)

例如添加一个节,如:

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

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