我有一个dotnet核心应用程序。我的目的是将这个应用程序部署到EB上,但我需要在部署后运行一些命令。
这就是为什么我创建了一个 Docker文件
# 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"]
而我有一个 Derrun.aws.json。
{
"AWSEBDockerrunVersion": "1"
}
最后这是我的 .ebextensions01_nginx.conf。
commands:
test_command:
command: "touch /tmp/x.f"
然后我创建了一个EB应用程序
$ eb init
和创造环境
$eb create
它正在成功部署我的应用程序。
期待的是什么?
当我用ssh登录到我的EC2容器时,我想看到的是 tmpx.f 文件。
是什么问题呢?
我试了好几种方法,肯定是 .ebextensions01_nginx.conf。 毫无办法,因为 tmpx.f文件不存在。 文件不存在。
注意。
我的错误在哪里?
一个可能的原因是你的文件扩展名不对,你的文件在 .ebextensions
. 它 应 做 .config
,不 .conf
:
配置文件是YAML或JSON格式的文件,具有以下特点 .config 文件扩展名,您可以将其放置在名为.ebextensions的文件夹中,并部署在您的应用程序源捆绑中。