【发布时间】: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