.net core——Docker化开发和部署

原文:.net core——Docker化开发和部署

本篇文章是使用Vs2017生成的Dockerfile进行部署的。

VS2017生成Docker部署项目

这里采用VS2017自动生成Dockerfile,建立项目时选择启用Docker支持,可选择linux和windows,windows需要安装docker for windows,这里不再描述。本篇文章主要以CentOS为部署目标。

.net core——Docker化开发和部署

Dockerfile内容

文件及注释内容如下:

Docker安装请参考 官方文档

# 选择.net core 运行时容器为基容器, as命令需要高版本的Docker支持。
# 这里的坑是Centos自带的 Docker版本不支持 as命令,因此需要升级
# 安装步骤请参考上面的官方文档
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443 FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY ["SSApiService/SSApiService.csproj", "SSApiService/"]
RUN dotnet restore "SSApiService/SSApiService.csproj"
COPY . .
WORKDIR "/src/SSApiService"
RUN dotnet build "SSApiService.csproj" -c Release -o /app FROM build AS publish
RUN dotnet publish "SSApiService.csproj" -c Release -o /app FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "SSApiService.dll"]

在开发服务器安装

如果有Jekins服务器,可以参考类似命令。

这里忽略了从git服务拉取代码的步骤。

按照如下顺序执行docker命令

docker stop wmsapi
docker rm wmsapi
docker rmi mark/api
docker build -f /data/dotnet/SSApiService/SSApiService/Dockerfile -t mark/api .
docker run -d -p 5000:80 --name wmsapi mark/api
docker images
===================执行结果==============================================================
REPOSITORY TAG IMAGE ID CREATED SIZE
mark/api latest 7d7b13f4e34b 24 minutes ago 257MB
<none> <none> 5b6bff345326 24 minutes ago 1.74GB
microsoft/dotnet 2.1-sdk e87e5f0285fc 13 days ago 1.73GB
microsoft/dotnet 2.1-aspnetcore-runtime ea22d9662fa7 13 days ago 253MB
microsoft/dotnet 2.1-aspnetcore-runtime ea22d9662fa7 13 days ago 253MB
docker ps
===================执行结果==============================================================
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
247e2596a83e mark/api "dotnet SSApiService…" 18 minutes ago Up 18 minutes 0.0.0.0:5000->80/tcp wmsapi

结论

VS2017为在dokcer容器内的开发和部署提供了非常便利的帮助。几乎傻瓜式的。

嗯!点赞宇宙第一编译器!


在此我向大家推荐一个微服务架构学习交流群。交流学习QQ群号:864759589 里面会分享一些资深架构师录制的视频录像:高并发、高性能、分布式、微服务架构的原理,分布式架构等这些成为架构师必备的知识体系。

.net core——Docker化开发和部署


引用链接

  1. 口袋代码仓库
  2. 在线计算器
  3. 本节源码:github
上一篇:Fiddler使用总结一(使用Fiddler捕获手机所有http/https通信)


下一篇:安装python 第三方库遇到的安装问题 microsoft visual studio c++ 10.0 is required,Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?