当前位置: 首页 > 面试题库 >

使用dockerrun源代码捆绑包将ebextensions配置放在AWS Elastic Beanstalk Docker部署中的哪里?

姬坚成
2023-03-14
问题内容

我在部署Docker弹性beantalk读取我的.ebextensions / setup.config文件时遇到麻烦。

eb环境配置文档说:

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

但是,对于Docker来说,源包不是一个.zip.war文件,而是一个.json文件,例如,文档说要创建Dockerrun.aws.json文件
—看起来就是源包?

在创建应用程序的版本时,我将自定义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

那么……当“捆绑包”只是一个最终构建容器的json文件时,如何在源捆绑包的顶级目录中找到.ebextensions目录?(我的第一次尝试只是将其放在项目的根目录中,但这没有用。)


问题答案:

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

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



 类似资料:
  • 我无法将docker弹性beanstalk部署到读取.ebExtensions/setup.config文件。 那么…当“bundle”只是一个最终构建容器的json文件时,如何在源包的顶级目录中找到.ebextensions目录呢?(我的第一次尝试是将其放在项目的根目录中,但没有成功。)

  • 基本上,我需要配置CI/CD与比特桶源代码到ECS容器。我想使用CodePipline部署新的ECR映像到ECS。 目前,AWS CodePipline中没有将bitbucket指定为源的选项。然而,我已经设法用webhooks配置了CodeBuild,这样它就可以构建docker文件,并在每次推送发布分支时将其推送到ECR。 我想将ECR配置为CodePipline中的“源”阶段,并将其部署到现

  • 问题内容: 我有一个包含多个文件的Go包。从Go标准开始,我正在为包中的每个源文件创建一个关联的测试文件。 就我而言,不同的测试使用相同的测试帮助功能。我不希望这些功能出现在软件包源文件中,因为它仅用于测试目的。我也想避免在每个测试文件中复制此代码。 我应该把这些代码放在所有测试源文件之间共享而不是包的一部分中吗? 问题答案: 您只需将其放在任何测试文件中就可以了。使用相同package子句的测试

  • 我正在将我的spring-java项目转移到OSGi。 我有一些依赖项,这些依赖项在spring ebr repo或maven repo中不能作为包提供。处理它们的最佳方法是什么? null

  • 按照旧方法,我们将自定义标记库描述文件放在WEB-INF/xxx中。tld和JSP文件加载此文件 当我们使用Spring boot并用java代码(没有web.xml、xxx-servlet.xml等)完全配置应用程序时,应该把它放在哪里? 在资源/WEB-INF下?还是资源/META-INF?

  • 我使用EclipseIndigo使用OSGiJava框架开发了一些包。有一个主捆绑包,它依赖于其他捆绑包,并且具有要运行的主程序。如果我尝试在Eclipse中运行所有捆绑包,一切都正常工作,但是如果我将每个捆绑包保存为一个JAR,并在命令行中启动OSGi框架,当我尝试启动主捆绑包时,会出现异常<code>NoClassDefFoundError。找不到的类是依赖项。包的其余部分处于活动状态,主包刚