【发布时间】:2022-03-10 08:08:17
【问题描述】:
我已经 dockerised 一个 .net 应用程序。 Dockerfile 位于 app 文件夹中,而不是存储库的根目录中
docker 文件粘贴在下面
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY ["app/app.csproj", "app/"]
RUN dotnet restore "app/app.csproj"
COPY . .
WORKDIR "/src/app"
RUN dotnet build "app.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "app.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "app.dll"]
为了让 Elastic Beanstalk 读取 dockerfile,我将以下 docker-compose.yml 放在存储库的根目录中
version: '3.4'
services:
app:
image: app
build:
context: .
dockerfile: app/Dockerfile
Beanstalk 正在成功构建 dockerimage,但之后它被删除。 eb-engine.log 显示错误
[ERROR] update processes [cfn-hup eb-docker-compose-events docker eb-docker-events healthd eb-docker-compose-log] pid symlinks failed with error Read pid source file /var/pids/eb-docker-compose-log.pid failed with error:open /var/pids/eb-docker-compose-log.pid: no such file or directory
【问题讨论】:
-
您是否找到任何解决方法/修复方法?我现在遇到了这个错误。
-
我猜我使用 Dockerrun.aws.json 而不是 docker 文件并在那里指定了图像名称。
-
这是有道理的,但对我不起作用。我需要将我的
Dockerrun.aws.json内容迁移到docker-compose.yml文件,以便脱离已弃用的 Elastic Beanstalk 多容器 Docker 平台并迁移到更新的 Docker Linux 2 平台。
标签: docker-compose amazon-elastic-beanstalk