AWS Elastic Beanstalk中的多容器Dockerconfiguration版本错误

尝试在dockerrun.aws.json文件的帮助下,将Elastic Beanstalk中的mysql与phabricator链接起来,如下所示。

但它播放错误

[Instance: i-cdbaf100 Module: AWSEBAutoScalingGroup ConfigSet: null] Command failed on instance. Return code: 1 Output: Invalid Dockerrun.aws.json version, abort deployment. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI. 

有人可以帮助解决这个问题吗?

这里是Dockerfile.aws.json文件:

 { "AWSEBDockerrunVersion": 2, "containerDefinitions": [ { "name": "mysql-database", "image": "mysql", "essential": true, "memory": 400 }, { "name": "phabricator-only", "image": "yesnault/docker-phabricator-alone", "essential": true, "memory": 400, "portMappings": [ { "hostPort": 80, "containerPort": 80 } ], "links": [ "mysql-database" ] } ] } 

这里是活动日志文件

 [2015-05-09T08:12:17.546Z] INFO [24016] - [CMD-AppDeploy] : Starting activity... [2015-05-09T08:12:17.820Z] INFO [24016] - [CMD-AppDeploy/AddonsBefore] : Starting activity... [2015-05-09T08:12:17.820Z] INFO [24016] - [CMD-AppDeploy/AddonsBefore] : Completed activity. [2015-05-09T08:12:18.086Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0] : Starting activity... [2015-05-09T08:12:18.086Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteConfig] : Starting activity... [2015-05-09T08:12:18.089Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteConfig] : Completed activity. Result: Recreated directory /opt/elasticbeanstalk/deploy/configuration/. Generate appsource url file at /opt/elasticbeanstalk/deploy/configuration/appsourceurl. Generate container config file at /opt/elasticbeanstalk/deploy/configuration/containerconfiguration. [2015-05-09T08:12:18.089Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteApp1] : Starting activity... [2015-05-09T08:12:18.089Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteApp1] : Completed activity. Result: Recreated directory /opt/elasticbeanstalk/deploy/appsource. [2015-05-09T08:12:18.089Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteApp2] : Starting activity... [2015-05-09T08:12:18.332Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteApp2/Infra-WriteApplication2] : Starting activity... [2015-05-09T08:12:18.333Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteApp2/Infra-WriteApplication2/Infra-WriteApplication2] : Starting activity... [2015-05-09T08:12:18.333Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteApp2/Infra-WriteApplication2/Infra-WriteApplication2/Command 01downloadVersion] : Starting activity... [2015-05-09T08:12:18.385Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteApp2/Infra-WriteApplication2/Infra-WriteApplication2/Command 01downloadVersion] : Completed activity. [2015-05-09T08:12:18.385Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteApp2/Infra-WriteApplication2/Infra-WriteApplication2] : Completed activity. [2015-05-09T08:12:18.385Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteApp2/Infra-WriteApplication2] : Completed activity. [2015-05-09T08:12:18.407Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/InfraWriteApp2] : Completed activity. [2015-05-09T08:12:18.407Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/EbExtensionPreBuild] : Starting activity... [2015-05-09T08:12:18.646Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild] : Starting activity... [2015-05-09T08:12:18.647Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild] : Completed activity. [2015-05-09T08:12:18.663Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/EbExtensionPreBuild] : Completed activity. [2015-05-09T08:12:18.663Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook] : Starting activity... [2015-05-09T08:12:18.663Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/00clean_dir.sh] : Starting activity... [2015-05-09T08:12:18.843Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/00clean_dir.sh] : Completed activity. [2015-05-09T08:12:18.843Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/01unzip.sh] : Starting activity... [2015-05-09T08:12:19.121Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/01unzip.sh] : Completed activity. Result: { "AWSEBDockerrunVersion": 2, "containerDefinitions": [ { "name": "mysql-database", "image": "mysql", "essential": true, "memory": 400 }, { "name": "phabricator-only", "image": "yesnault/docker-phabricator-alone", "essential": true, "memory": 400, "portMappings": [ { "hostPort": 80, "containerPort": 80 } ], "links": [ "mysql-database" ] } ] } [2015-05-09T08:12:19.121Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/02docker_db_check.sh] : Starting activity... [2015-05-09T08:12:19.124Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/02docker_db_check.sh] : Completed activity. Result: 0||/ [2015-05-09T08:12:19.125Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/03build.sh] : Starting activity... [2015-05-09T08:12:19.426Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/03build.sh] : Activity execution failed, because: Invalid Dockerrun.aws.json version, abort deployment (ElasticBeanstalk::ExternalInvocationError) caused by: Invalid Dockerrun.aws.json version, abort deployment (Executor::NonZeroExitStatus) [2015-05-09T08:12:19.426Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook/03build.sh] : Activity failed. [2015-05-09T08:12:19.427Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0/AppDeployPreHook] : Activity failed. [2015-05-09T08:12:19.427Z] INFO [24016] - [CMD-AppDeploy/AppDeployStage0] : Activity failed. [2015-05-09T08:12:19.427Z] INFO [24016] - [CMD-AppDeploy] : Completed activity. Result: Command CMD-AppDeploy failed. 

OP javvaji kiran 在评论中补充道:

该服务不适用于我select的位置。
但服务在其他地方可用


原始答案:

这取决于您有错误消息,但请注意, Dockerrun.aws.json所有值通常都用双引号引起来。

 { "AWSEBDockerrunVersion": "1", "Image": { "Name": "janedoe/image", "Update": "true" }, "Ports": [ { "ContainerPort": "1234" } ], .... 

在自己的Dockerrun.aws.json添加双引号后,检查错误是否仍然存在

这就是说,确切的错误信息是:

 Activity execution failed, because: Invalid Dockerrun.aws.json version 

看到这个来源 :

 # Dockerrun.aws.json verson checking # right now only one valid version "1" if [ -f Dockerrun.aws.json ]; then [ "`cat Dockerrun.aws.json | jq -r .AWSEBDockerrunVersion`" = "1" ] || error_exit "Invalid Dockerrun.aws.json version, abort deployment" 1 fi 

所以试试用"AWSEBDockerrunVersion": "1",

另外,在“ 有效”键和Dockerrun.aws.json文件的值中没有看到“链接”。

如果您收到错误“无效的Dockerrun.aws.json版本,中止部署”,也可能是您没有使用正确的解决scheme堆栈。

在我的情况下,我正在使用单容器解决scheme堆栈,我应该使用多容器解决scheme堆栈。 一旦我将环境configuration为使用Multicontainer解决scheme堆栈,此错误就消失了。

解决scheme堆栈列表可以在这里find: http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html#concepts.platforms.docker

创build环境时必须select多容器types。 可能需要删除和创build新的环境,因为从单容器升级现在不可用。

确保它在configuration下的Dashboard上显示“正在运行多容器Docker”。