【问题标题】:Persistent storage on Elastic Beanstalk Docker ContainerElastic Beanstalk Docker 容器上的持久存储
【发布时间】:2019-10-09 02:18:26
【问题描述】:

我正在寻找某种方法将 S3 存储桶(例如)作为 Docker 卷安装在 Elastic Beanstalk Docker 容器中。

由于我无法更改应用程序代码,我必须使用 Docker 卷在 Dockerrun.aws.json 文件中配置该部分。

我需要为我的应用程序中的单个配置文件和文件目录挂载一个文件。

这是我的 Dockerrun.aws.json 文件。

{
    "AWSEBDockerrunVersion": "1",

    "Image": {
        "Name": "app"
    },
    "Ports": [
        {
            "ContainerPort": 8080,
            "HostPort" : 80
        }

    ],
    "environment": [
        {
          "name": "app_DB_MYSQL",
          "value": ""
        },
        {
            "name": "app_DB_USERNAME",
            "value": "app"
        },
        {
            "name": "app_DB_PASSWORD",
            "value": ""
        },
        {
            "name": "app_DB_DATABASE",
            "value": "app"
        }
      ],

      "volumes": [
        {
            "HostDirectory": "files",
            "containerPath": "/usr/src/app/files",
        },

        {
            "HostDirectory": "configuration.yaml",
            "containerPath": "/usr/src/app/config/configuration.yaml",
        }
      ],

    "Logging": "/var/log",

}

【问题讨论】:

  • 你找到解决办法了吗?
  • 我唯一能想到的是有一个多容器设置,两者都安装到同一个卷上。第一个将是您的应用程序,而第二个将是监视程序,它监视新文件,然后将它们上传到 S3。我不确定这是一个多么可靠或好的解决方案。

标签: amazon-web-services docker amazon-elastic-beanstalk docker-volume persistent-storage


【解决方案1】:

对于持久化存储,一般使用Elastic Beanstalk with Amazon Elastic File System

  1. 编辑storage-efs-createfilesystem.config,将其添加到.ebextensions 目录并部署
  2. 然后从 .ebextensions 中删除 storage-efs-createfilesystem.config,编辑 storage-efs-mountfilesystem.config 并将其添加到 .ebextensions,编辑 Dockerrun.aws.json 以匹配 storage-efs-mountfilesystem.config 并重新部署。

示例 storage-efs-mountfilesystem.config 提取:

option_settings:
  aws:elasticbeanstalk:application:environment:
    FILE_SYSTEM_ID: 'fs-REPLACE_THIS_WITH_ID!'
    MOUNT_DIRECTORY: '/efs'

样本Dockerrun.aws.json 提取:

"Volumes": [
    {
        "HostDirectory": "/efs/app",
        "ContainerDirectory": "/usr/src/app",
    }

【讨论】:

    猜你喜欢
    • 2016-04-22
    • 2018-06-20
    • 2017-10-14
    • 2015-11-03
    • 2017-07-26
    • 2015-04-26
    • 2020-11-25
    • 1970-01-01
    • 2021-07-24
    相关资源
    最近更新 更多