amazon-web-services - Docker在Multicontainer Elastic Beanstalk中撰写env_file

标签 amazon-web-services docker amazon-elastic-beanstalk docker-compose

我有以下docker compose文件:

version: '2'

services:
  app:
    build: .
    command: >
      bash -cex "
        export LC_ALL=C.UTF-8
        export LANG=C.UTF-8
        /virtualenv/bin/flask run -h 0.0.0.0 -p 5050
      "
    env_file: env
    links:
    - postgres
    ports:
    - 8080:8080

如您所见,我正在使用 env_file 选项从文件 env 加载我的环境变量。

现在,我正在尝试将此容器部署到Elastic Beanstalk。
到目前为止,这是我的文件Dockerrun.aws.json:
{
  "AWSEBDockerrunVersion": 2,

  "containerDefinitions": [

    {
      "name": "app",
      "image": "myorg/myimage",
      "essential": true,
      "memory": 256,
      "command": [
        "/bin/bash",
        "export LC_ALL=C.UTF-8",
        "export LANG=C.UTF-8",
        "/virtualenv/bin/flask run -h 0.0.0.0 -p 5050"
      ],
      "portMappings": [
        {
          "hostPort": 8080,
          "containerPort": 8080
        }
      ],
      "links": [
        "postgres",
      ]
    }

在AWS Elastic Beanstalk的documentation中,只需提及环境选项即可传递环境变量数组,但是我找不到如何传递文件而不是变量数组的方法。

有人知道如何将这个 docker-compose 文件正确地转换为 Dockerrun.aws.json 文件吗?

问候。

最佳答案

尝试container-transform

$ pip install container-transform
$ cat docker-compose.yml | container-transform  -v

并将ECS格式打印到STDOUT。

关于amazon-web-services - Docker在Multicontainer Elastic Beanstalk中撰写env_file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42254666/

相关文章:

amazon-web-services - 我可以设置 AWS CodeDeploy 的用户吗?

amazon-web-services - 目标运行状况检查失败 - AWS 网络负载均衡器

amazon-web-services - 重新启动后删除Jenkinw配置

amazon-elastic-beanstalk - Elastic Beanstalk : Migrate DB Security Group to VPC Security Group

amazon-web-services - 如何为 AssumeRole 事件配置 AWS Cloudwatch Events(以触发 SNS 通知)

amazon-web-services - 将图像和文本字段添加到 Quicksight 仪表板

docker - Terraform不会在辅助节点上创建docker服务

docker - Nifi 容器正在运行但无法通过 UI 访问

angular - 使用 Elastic Beanstalk AWS 部署 Angular 6 Universal

AWS Elastic Beanstalk 中的 Python : Private package dependencies