如何仅使用Dockerrun.aws.json在ElasticBeanstalk Docker容器中装入卷

我使用公共容器按照这里的说明创build了以下简单的Dockerrun文件,它成功地运行了一个实例。

{ "AWSEBDockerrunVersion": "1", "Image": { "Name": "sbeam/influxdb", "Update": "true" }, "Ports": [ { "ContainerPort": "8086" } ], "Volumes": [ { "HostDirectory": "/data", "ContainerDirectory": "/data" } ] } 

不过,我希望将/data目录作为某个EBS卷装入EC2实例中。 我find了答案( 在这里和这里 ),表明.ebextensions是必要的,但由于我没有上传容器的.zip图像,这怎么可能? 是否有必要下载Docker容器,添加.ebextensions目录,zip并重新上传?

您将不得不按照选项3:“创build包含您的应用程序文件,任何应用程序文件依赖项,Dockerfile和Dockerrun.aws.json文件的.zip文件”。 正如你在第一个链接中所解释的

在你的情况下.zip文件可能只包含Dockerrun.aws.json和.ebextensions文件夹。

为了将EBS卷附加到您的实例,您可以检查这篇文章: http : //blogs.aws.amazon.com/application-management/post/Tx224DU59IG3OR9/Customize-Ephemeral-and-EBS-Volumes-in-Elastic -Beanstalk-Environments 。 它会为您提供有关.ebextensions文件夹内的.config文件内容的指示