我有一个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 文件不存在。>
注释:
我怎么了?
答案 0 :(得分:1)
可能的原因是.ebextensions
中文件的扩展名错误。 should是.config
,而不是.conf
:
配置文件是具有 .config 文件扩展名的YAML或JSON格式的文档,您将其放在名为.ebextensions的文件夹中并部署在应用程序源包中。