我在部署Docker弹性beantalk读取我的.ebextensions / setup.config文件时遇到麻烦。
eb环境配置文档说:
您可以在源包中包含一个或多个配置文件。配置文件必须以扩展名.config命名(例如,myapp.config),并放置在源包的.ebextensions顶级目录中。
但是,对于Docker来说,源包不是一个.zip或.war文件,而是一个.json文件,例如,文档说要创建Dockerrun.aws.json文件 —看起来就是源包?
.zip
.war
.json
在创建应用程序的版本时,我将自定义Dockerrun-$VERSION.aws.json文件上载到s3并运行类似以下内容的文件(其中$APP是版本化的dockerrun json文件):
Dockerrun-$VERSION.aws.json
$APP
aws elasticbeanstalk create-application-version \ --application-name $APP_NAME \ --version-label $VERSION \ --source-bundle S3Bucket=$S3_BUCKET,S3Key=$S3_PATH/$APP
那么……当“捆绑包”只是一个最终构建容器的json文件时,如何在源捆绑包的顶级目录中找到.ebextensions目录?(我的第一次尝试只是将其放在项目的根目录中,但这没有用。)
如果您使用.json文件进行docker部署,则不能使用.ebextensions。
但是,您可以创建一个包含.json和.ebextension目录的zip文件,一切正常。使用zip作为您的部署工件,而不是原始的json。