【问题标题】:Google App Engine - run docker image with specific Linux versionGoogle App Engine - 使用特定 Linux 版本运行 docker 映像
【发布时间】:2020-04-26 18:08:18
【问题描述】:

我是 Google App Engine 的新成员,并试图将我的 ASP.Net Core 3.1 Blazor 网站部署到 Google App Engine。我使用 Docker 的自定义构建,因为 App Engine 还不支持 .Net Core 3.1:

App.yaml

runtime: custom
env: flex

Dockerfile # 由 Visual Studio 生成

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1.3-bionic AS base
WORKDIR /app
EXPOSE 8080
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.1.201-bionic AS build
WORKDIR /src
COPY ["Blazor_SqLite_Publish/Blazor_SqLite_Publish.csproj", "Blazor_SqLite_Publish/"]
RUN dotnet restore "Blazor_SqLite_Publish/Blazor_SqLite_Publish.csproj"
COPY . .
WORKDIR "/src/Blazor_SqLite_Publish"
RUN dotnet build "Blazor_SqLite_Publish.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Blazor_SqLite_Publish.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Blazor_SqLite_Publish.dll"]

网站部署成功,甚至可以正常工作。但我注意到,App Engine 实例在 Ubuntu-16.04.6 LTS 上运行我的 docker 映像:

root@xxxxxxxxxxx:/app# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
VERSION_ID="16.04"

但我期待 Ubuntu-18.04 LTS。

如何将 Ubuntu-16.04.6 LTS 版本更改为 Ubuntu-18.04 LTS?

【问题讨论】:

  • 我的实例使用 Ubuntu 18.04 运行。我复制了你的 Dockerfile,改为使用 Hello World code。并将 HelloWorld.csproj 上的运行时更改为 3.1。并将 HelloWord yaml 更新为自定义。

标签: docker google-app-engine dockerfile instance asp.net-core-3.1


【解决方案1】:

最后我能够解决这个问题。谢谢 breddy,检查了我的 Dockerfile。

我的 Dockerfile 位于解决方案文件夹中,而不是项目中。结果,每次我将我的网站发布到 GAE 时,Visual Studio 都会生成临时 Dockerfile。生成的 Dockerfile 包含 gcr.io/google-appengine/aspnetcore:3.1 映像:

FROM gcr.io/google-appengine/aspnetcore:3.1
COPY . /app
WORKDIR /app
ENTRYPOINT ["dotnet", "Blazor_SqLite_Publish.dll"]

这就是为什么我的 docker 镜像基于 Ubuntu-16.04 LTS。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多