我正在寻找一些方法来挂载一个S3存储桶(例如)作为Docker卷在一个弹性豆茎码头容器。
由于我无法更改应用程序代码,因此我必须使用Docker volumes在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",
}发布于 2021-11-16 13:07:52
对于持久性存储,通常使用Elastic Beanstalk with Amazon Elastic File System:
示例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",
    }https://stackoverflow.com/questions/56259431
复制相似问题