1.新建一个Asp.NET Core Web应用

2.项目启动Docker、Docker OS选择Windows

如果忘记勾选那在新建项目之后也可以右击项目--添加--Docker支持

3、操作完成之后系统默认的dockerfile文件如下
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

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

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

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

4.设置dockerfile文件属性 -【复制到输出目录】:始终复制

5、右击项目重新生成解决方案无误后,在Release模式下,发布项目到本地文件夹

6.发布完成之后将Dockerfile 文件修改如下

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

COPY . .

ENTRYPOINT ["dotnet", "QuartzServer.dll"]

7.打开发布的文件夹在该路径下右击选择“在终端中打开”

8.创建镜像(前提已经安装好了windows 版本的docker,并且运行状态)

docker build -t quartzserverimg .

注意:quartzserverimg 要小写; 小点不能少

9.成功之后会出现如下图

10.打开客户端发现镜像已经创建成功

11.继续在当前路径下执行命令,为当前项目指定端口号(第一个8023端口号对外,第二个8023端口号对内)

docker run -p 8023:8023 -d quartzserverimg

12.打开浏览器,验证部署 http://localhost:8023/  看到如下图则说明部署访问成功,恭喜自己一下吧!

log日志:

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐