繁体   English   中英

无法构建由Visual Studio 2019创建的Dockerfile-Docker和Azure

[英]Unable to build a Dockerfile created by Visual Studio 2019 - Docker and Azure

在Visual Studio 2019中的Web api .NET Core 2.2上右键单击并创建Dockerfile ,我发现我无法手动执行带有名称和标签的Dockerfile docker build 我得到的是一张巨大的图像(大约1.8gb),其中<none><none>作为ID和标签。

这些步骤是:

创建文件后,我从VS运行Docker,然后创建此映像: Snowdon...:dev (260mb)。 但是,当我将此部署到Azure时,容器立即终止。

如果我使用docker-compose将图像与另一个图像一起运行,然后创建一个新图像: Snowdon...:latest (269mb),则如果我将此图像部署到Azure,则可以正常工作。

所以,尽管我在云端工作,但我想知道为什么我不能只做一个docker build

这是我的Web API的Dockerfile

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
WORKDIR /app
EXPOSE 80

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

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

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

我从这里调用build

DIR

要为遇到此问题的任何其他人提供解决方案:

如果您要手动在此docker build上运行docker build ,则需要从解决方案文件( .sln )所在的文件夹中执行此操作。 所以像这样:

docker build -f project\folder\Dockerfile -t mytag:1.0 .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM