我是中的一个新成员,并试图将我的ASP.Net Core3.1BLazor网站部署到。我在Docker中使用了自定义构建,因为App还没有支持.Net Core3.1:
App.yaml
runtime: custom
env: flexVisual生成的Dockerfile #
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实例在Ubuntu-16.04.6LTS上运行我的坞映像:
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.6LTS版本更改为Ubuntu-18.04LTS?
发布于 2020-05-11 20:26:58
最后,我解决了这个问题。谢谢breddy检查了我的Dockerfile
我的Dockerfile位于解决方案文件夹中,而不是项目中。因此,每当我将我的网站发布到GAE时,Visual都会生成临时Dockerfile。生成的Dockerfile包含gcr.io//aspnetcore:3.1映像:
FROM gcr.io/google-appengine/aspnetcore:3.1
COPY . /app
WORKDIR /app
ENTRYPOINT ["dotnet", "Blazor_SqLite_Publish.dll"]这就是为什么,我的码头形象是基于Ubuntu-16.04LTS。
https://stackoverflow.com/questions/61445636
复制相似问题