Net Core 微服务 - 如何在docker容器里运行一个简单的.net core web api 服务

1.新建一个WebApi项目



默认的web api项目包含一个默认的api:/weatherforecast

 

 

 

 2. 新建一个Dockerfile文件

 

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

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

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

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

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

3. 通过Dockerfile生成Docker镜像文件
在Dockerfile所在目录打开命令行工具运行如下命令:

docker build -t coreapi1 .

4. 运行Docker镜像

docker run --name coreapi1 -d -p 30006:80 coreapi1

--name coreapi1 设置容器的名称

-p 30006:80 参数把容器的80端口映射到宿主机的30006端口。

最后的coreapi1是镜像的名称


5. 访问Docker容器里的Api接口

http://localhost:30006/weatherforecast

通过以上地址可以访问到对应的api,截图如下:

 

 

 

 

posted @ 2021-10-08 17:14  SilverFox8588  阅读(195)  评论(0编辑  收藏  举报