我想为我的.net核心项目创建docker镜像。我已经使用docker enable功能创建了.net核心项目。如果我从VS运行项目,它会自动为我创建docker镜像。但我想通过docker命令创建图像(我不想在我的机器上创建/运行容器,只想从源代码创建docker镜像)。我正在使用docker for windows。
任何帮助?
答案 0 :(得分:1)
您可以通过以下方式从.net核心项目构建docker映像:
在您的项目中,您有一个docker文件,其中包含类似以下信息:(如果未创建,则)。
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY TestProject.API/TestProject.API.csproj TestProject.API/
RUN dotnet restore TestProject.API/TestProject.API.csproj
COPY . .
WORKDIR /src/TestProject.API
RUN dotnet build TestProject.API.csproj -c Release -o /app
FROM build as unittest
WORKDIR /src/TestProject.UnitTest
FROM build AS publish
RUN dotnet publish TestProject.API.csproj -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "TestProject.API.dll"]
在解决方案中或通过在命令提示符中打开相同的命令来使用命令来构建项目,然后使用以下命令:
E:\ TestProject \ TestProject.API> docker build。
它将创建图像。您可以通过via命令检查相同的内容:
E:\TestProject\TestProject.API>docker images
答案 1 :(得分:0)
如果您还没有Dockerfile,则需要创建docker build并将其检入源存储库。这告诉docker如何创建图像。
使用Dockerfile从目录运行docker push将构建图像。
然后,您可以执行docker run将该图像推送到docker存储库,或docker images创建一个包含该新图像的容器。
您可能还希望熟悉docker rmi列出计算机上的图像,并{{3}}删除旧图像。它们在开发过程中快速积累,因此有助于掌握它。