通过命令

时间:2018-01-10 05:01:32

标签: docker .net-core dockerfile continuous-deployment

我想为我的.net核心项目创建docker镜像。我已经使用docker enable功能创建了.net核心项目。如果我从VS运行项目,它会自动为我创建docker镜像。但我想通过docker命令创建图像(我不想在我的机器上创建/运行容器,只想从源代码创建docker镜像)。我正在使用docker for windows。

任何帮助?

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式从.net核心项目构建docker映像:

  1. 在您的项目中,您有一个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"]
    
  2. 在解决方案中或通过在命令提示符中打开相同的命令来使用命令来构建项目,然后使用以下命令:

    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}}删除旧图像。它们在开发过程中快速积累,因此有助于掌握它。