错误:您只能在重新配置的通用和多容器 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/

10-13 06:20