项目准备

  首先创建一个项目,这里准备的是api项目,当然也可以是其他项目,按照自己需要的项目创建即可;

 

添加Dockerfile

  接下来添加Dockfile文件,Dockerfile文件是Docker的构建镜像的文本文件,包含了一条条指令,告诉Docker如何执行构建镜像;

  添加方式是右击项目->添加->Docker支持->选择目标OS,这里可以选择  Linux或者Windows,根据服务器类型选择即可;

       

 在OS添加完成之后会有生成一个Dockerfile,将Dockerfile属性设置为始终复制,这个Dockerfile中

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

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["xxx.Api/xxx.Api.csproj", "xxx.Api/"]
RUN dotnet restore "xxx.Api/xxx.Api.csproj"
COPY . .
WORKDIR "/src/xxx.Api"
RUN dotnet build "xxx.Api.csproj" -c Release -o /app/build

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

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

 

制作镜像

  有了Dockerfile后,将你的项目文件放到服务器上,然后将当前目录切换到项目文件目录下

  docker build -t projectname .

 使用Docker build命令构建镜像(projectname是指镜像名称,.是指Dockerfile文件位置),然后Docker会根据Dockerfile去构建镜像
 
  

运行

  有了镜像后,使用Docker run命令将镜像运行一下,生成一个容器,projectname是镜像名称
  docker run --name containername -p 8878:80 -d projectname
 --name:设置容器的名称
  -p:将容器的端口映射80映射到宿主机8878端口
       -d:后台运行