我正在尝试启动运行多容器Docker的AWS BeanStalk环境,但它失败并显示以下事件列表:
2016-01-18 16:58:57 UTC+0100 WARN Removed instance [i-a7162d2c] from your environment due to a EC2 health check failure.
2016-01-18 16:57:57 UTC+0100 WARN Environment health has transitioned from Degraded to Severe. None of the instances are sending data.
2016-01-18 16:47:58 UTC+0100 WARN Environment health has transitioned from Pending to Degraded. Command is executing on all instances. Command failed on all instances.
2016-01-18 16:43:58 UTC+0100 INFO Added instance [i-a7162d2c] to your environment.
2016-01-18 16:43:27 UTC+0100 INFO Waiting for EC2 instances to launch. This may take a few minutes.
2016-01-18 16:41:58 UTC+0100 INFO Environment health has transitioned to Pending. There are no instances.
2016-01-18 16:41:54 UTC+0100 INFO Created security group named: awseb-e-ih2exekpvz-stack-AWSEBSecurityGroup-M2O11DNNCJXW
2016-01-18 16:41:54 UTC+0100 INFO Created EIP: 52.48.132.172
2016-01-18 16:41:09 UTC+0100 INFO Using elasticbeanstalk-eu-west-1-936425941972 as Amazon S3 storage bucket for environment data.
2016-01-18 16:41:08 UTC+0100 INFO createEnvironment is starting.
健康状况标记为“严重”,我有以下日志:
98 % of CPU is in use.
Initialization failed at 2016-01-18T15:54:33Z with exit status 1 and error: Hook /opt/elasticbeanstalk/hooks/preinit/02ecs.sh failed.
. /opt/elasticbeanstalk/hooks/common.sh
/opt/elasticbeanstalk/bin/get-config container -k ecs_cluster
EB_CONFIG_ECS_CLUSTER=awseb-figure-test-ih2exekpvz
/opt/elasticbeanstalk/bin/get-config container -k ecs_region
EB_CONFIG_ECS_REGION=eu-west-1
/opt/elasticbeanstalk/bin/get-config container -k support_files_dir
EB_CONFIG_SUPPORT_FILES_DIR=/opt/elasticbeanstalk/containerfiles/support
is_baked ecs_agent
[[ -f /etc/elasticbeanstalk/baking_manifest/ecs_agent ]]
true
aws configure set default.output json
aws configure set default.region eu-west-1
echo ECS_CLUSTER=awseb-figure-test-ih2exekpvz
grep -q 'ecs start/'
initctl status ecs
initctl start ecs
ecs start/running, process 8418
TIMEOUT=120
jq -r .ContainerInstanceArn
curl http://localhost:51678/v1/metadata
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to localhost port 51678: Connection refused
我的配置:
Environment type: Single Instance
Instance type: Medium
Root volume type: SSD
Root Volume Size: 8GB
Zone: EU-West
我的Dockerrun.aws.json:
{
"AWSEBDockerrunVersion": "2",
"containerDefinitions": [
{
"essential": true,
"memory": 252,
"links": [
"redis"
],
"mountPoints": [
{
"containerPath": "/srv/express",
"sourceVolume": "_WebExpress"
},
{
"containerPath": "/srv/express/node_modules",
"sourceVolume": "SrvExpressNode_Modules"
}
],
"name": "web",
"image": "figure/web:latest",
"portMappings": [
{
"containerPort": 3000,
"hostPort": 3000
}
]
},
{
"essential": true,
"memory": 252,
"image": "redis",
"name": "redis",
"portMappings": [
{
"containerPort": 6379,
"hostPort": 6379
}
]
}
],
"family": "",
"volumes": [
{
"host": {
"sourcePath": "./web/express"
},
"name": "_WebExpress"
},
{
"host": {
"sourcePath": "/srv/express/node_modules"
},
"name": "SrvExpressNode_Modules"
}
]
}
最佳答案 @Kilianc:如果要使用多docker容器平台创建弹性beanstalk应用程序,则必须将以下策略列表添加到默认角色“aws-elasticbeanstalk-ec2-role”,或者您可以创建自己的角色.
> AWSElasticBeanstalkWebTier
> AWSElasticBeanstalkMulticontainerDocker
> AWSElasticBeanstalkWorkerTier
谢谢