错误:您只能在重新配置的通用和多容器 Docker 平台上使用“eb local”。
我想在亚马逊上创建一个多容器 docker 容器 Web 服务器。
我已经在亚马逊上创建了一个重新配置的通用多容器环境。
我正在尝试运行此命令以在部署之前测试我的 Dockerrun.aws.json
文件,但它不起作用
我已经用亚马逊的示例 dockerrun 进行了测试,但没有用
Dockerrun.aws.json
{
"AWSEBDockerrunVersion": 2,
"volumes": [
{
"name": "php-app",
"host": {
"sourcePath": "/var/app/current/php-app"
}
},
{
"name": "nginx-proxy-conf",
"host": {
"sourcePath": "/var/app/current/proxy/conf.d"
}
}
],
"containerDefinitions": [
{
"name": "php-app",
"image": "php:fpm",
"essential": true,
"memory": 128,
"mountPoints": [
{
"sourceVolume": "php-app",
"containerPath": "/var/www/html",
"readOnly": true
}
]
},
{
"name": "nginx-proxy",
"image": "nginx",
"essential": true,
"memory": 128,
"portMappings": [
{
"hostPort": 80,
"containerPort": 80
}
],
"links": [
"php-app"
],
"mountPoints": [
{
"sourceVolume": "php-app",
"containerPath": "/var/www/html",
"readOnly": true
},
{
"sourceVolume": "awseb-logs-nginx-proxy",
"containerPath": "/var/log/nginx"
},
{
"sourceVolume": "nginx-proxy-conf",
"containerPath": "/etc/nginx/conf.d",
"readOnly": true
}
]
}
]
}
最佳答案
EB CLI 中存在阻止使用 default_platform: Multi-container Docker 17.03.1-ce (Generic)
的错误。你可以在这里找到更多 https://pypi.python.org/pypi/awsebcli/3.10.4
在继续之前更新您的 EB CLI。
更重要的是,如果您在 AWS 控制台(使用浏览器)中创建了 AWS beanstalk 应用程序,然后使用 eb init
将其导入,那么 .elasticbeanstalk/config.yml
中的一个小变化会导致 eb local run
失败并显示消息
ERROR: You can use "eb local" only with reconfigured, generic and multi container Docker platforms.
例如,在我使用 AWS 控制台创建的导入应用程序的
config.yml
中,我有default_platform: arn:aws:elasticbeanstalk:eu-west-1::platform/Multi-container Docker running on 64bit Amazon Linux/2.7.4
只需将其更改为
default_platform: Multi-container Docker 17.03.1-ce (Generic)
你准备好了!
提示:如果您出于某种原因不想更新 EB CLI,请使用
default_platform: Multi-container Docker 1.11.2 (Generic)
关于php - 亚马逊弹性 beantalk eb 本地运行,但我的机器出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46146724/