使用dockerrun源包在AWS Elastic Beanstalk Docker中部署ebextensions配置的位置?

时间:2015-06-18 19:04:44

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

我无法使用docker弹性beanstalk部署来读取我的.ebextensions / setup.config文件。

eb environment configuration的文档说:

  

您可以在源包中包含一个或多个配置文件。配置文件必须使用扩展名.config命名(例如,myapp.config),并放在源包中的.ebextensions顶级目录中。

但是对于Docker来说,源包不是.zip.war文件,而是.json文件,例如文档对create a Dockerrun.aws.json file说 - 它看起来像源包?

在创建应用版本时,我将自定义Dockerrun-$VERSION.aws.json文件上传到s3,运行如下所示(其中$APP是版本化的dockerrun json文件):

aws elasticbeanstalk create-application-version \
    --application-name $APP_NAME \
    --version-label $VERSION \
    --source-bundle S3Bucket=$S3_BUCKET,S3Key=$S3_PATH/$APP

那么......当“bundle”只是一个最终构建容器的json文件时,如何在源包的顶级目录中找到.ebextensions目录? (我的第一次尝试就是把它放在项目的根目录中,但这不起作用。)

1 个答案:

答案 0 :(得分:21)

如果您使用.json文件进行docker部署,那么就不能使用.ebextensions。

但是,您可以创建一个包含.json和.ebextension目录的zip,一切都应该有效。使用zip作为部署工件而不是原始json。