.bebextensions与Docker在elasticbeanstalk上

ima*_*gio 6 nginx amazon-web-services websocket docker amazon-elastic-beanstalk

我试图在弹性beanstalk Docker实例上配置nginx以允许使用websockets.使用此处找到的信息,我将.ebextensions/01_files.config添加到我正在部署的zip中.

该zip包含.ebextensions/01_files.config,Dockerfile和我的应用程序的tgz.

01_files.config的内容如下:

files:
    "/etc/nginx/conf.d/websocketupgrade.conf" :
        mode: "000755"
        owner: root
        group: root
        content: |
            proxy_set_header        Upgrade         $http_upgrade;
            proxy_set_header        Connection      "upgrade";
Run Code Online (Sandbox Code Playgroud)

弹性豆茎似乎忽略了我的.ebextensions.永远不会写文件/etc/nginx/conf.d/websocketupgrade.conf.

在弹性beanstalk上使用.ebextensions与Docker容器的正确方法是什么?

Usm*_*ail -2

Elastic Beanstalk 现在支持 docker,并且黑客攻击更少,您应该使用Dockerfile 和 Dockerrun.aws.json

只需基于官方 nginx镜像创建一个新容器,然后添加您在上面发布的conf文件即可。然后使用 dockerrun 文件拉入您的 nginx 映像(请参见下面的示例)。

{
  "AWSEBDockerrunVersion": "1",
  "Authentication": {
    "Bucket": "my-bucket",
    "Key": "mydockercfg"
  },
  "Image": {
    "Name": "me/my-nginx-image",
    "Update": "true"
  },
  "Ports": [
    {
      "ContainerPort": "80"
    }
  ],
  "Volumes": [
    {
      "HostDirectory": "/var/",
      "ContainerDirectory": "/etc/mysql"
    }
  ],
  "Logging": "/var/log/nginx"
}
Run Code Online (Sandbox Code Playgroud)