【问题标题】:Elastic Beanstalk - .ebextensions not running on deployElastic Beanstalk - .ebextensions 未在部署时运行
【发布时间】:2020-08-17 09:47:23
【问题描述】:

我有一个 dotnet 核心应用程序。我已经为 docker 打包了。 我的目标是将此应用程序部署到 EB,但我需要在部署后运行一些命令。

这就是我创建 Dockerfile

的原因
# https://hub.docker.com/_/microsoft-dotnet-core
FROM mcr.microsoft.com/dotnet/core/sdk:2.2
WORKDIR /

# copy csproj and restore as distinct layers
COPY . ./App/
WORKDIR /App/WebApi
RUN dotnet restore
RUN dotnet publish -c release -o /build --no-restore

WORKDIR /build
ENV ASPNETCORE_URLS=http://+:8080
EXPOSE 8080
ENTRYPOINT ["dotnet", "WebApi.dll"]

我有一个 Dockerrun.aws.json

{
  "AWSEBDockerrunVersion": "1"
}

最后这是我的 .ebextensions/01_nginx.conf

commands: 
  test_command: 
    command: "touch /tmp/x.f"

然后我正在创建一个 EB 应用程序

$ eb init

创造环境

$eb create

它正在成功部署我的应用程序。

预期是什么?

当我使用 ssh 登录我的 EC2 容器时,我想查看 /tmp/x.f 文件。

有什么问题?

我尝试了几种方法,我确定 .ebextensions/01_nginx.conf 没有运行,因为 /tmp/xf 文件不存在。 p>

注意事项:

  • 我确定部署的 zip 文件有 .ebextensions/01_nginx.conf 文件
  • 我确定这与 git 无关。因为我将 .ebignore 包含在我的根目录中。
  • 我可以毫无问题地对端点做出反应,我的应用程序正在成功部署。

我的错误是什么?

【问题讨论】:

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


    【解决方案1】:

    一个可能的原因是您在.ebextensions 中的文件扩展名错误。 should.config,而不是 .conf

    配置文件是带有 .config 文件扩展名的 YAML 或 JSON 格式的文档,您将其放置在名为 .ebextensions 的文件夹中并部署在您的应用程序源包中。

    【讨论】:

    • 谢谢。这是我的错误。
    猜你喜欢
    • 2020-02-28
    • 2018-11-13
    • 2020-07-24
    • 2021-03-02
    • 1970-01-01
    • 2018-06-05
    • 2015-09-06
    • 2015-12-09
    • 2017-04-07
    相关资源
    最近更新 更多