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

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

VS2017生成Docker部署项目

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

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 里面会分享一些资深架构师录制的视频录像:高并发、高性能、分布式、微服务架构的原理,分布式架构等这些成为架构师必备的知识体系。


引用链接

  1. 口袋代码仓库
  2. 在线计算器
  3. 本节源码:github

.net core——Docker化开发和部署的更多相关文章

  1. .NET Core容器化开发系列(零)——计划

    .NET Core相当完善的跨平台特性以及其轻量化的底层接口为我们能顺畅进行微服务开发提供了非常棒的基础. 作为支撑微服务最常见的基础技术--容器化将是本系列的核心内容. 接下来我计划用一个月左右的时 ...

  2. .NET Core容器化开发系列(一)——Docker里面跑个.NET Core

    前言 博客园中已经有很多如何在Docker里面运行ASP.NET Core的介绍了.本篇主要介绍一些细节,帮助初学的朋友更加深入地理解如何在Docker中运行ASP.NET Core. 安装Docke ...

  3. 使用ML.NET + ASP.NET Core + Docker + Azure Container Instances部署.NET机器学习模型

    本文将使用ML.NET创建机器学习分类模型,通过ASP.NET Core Web API公开它,将其打包到Docker容器中,并通过Azure Container Instances将其部署到云中. ...

  4. [Nancy On .Net Core Docker] 轻量级的web框架

    .net core现在已经有了大的发展,虽然笔者现在已经从事python开发,但是一直在关注.net的发展,在逛博客园的时候,发现有大家都会提到Nancy这个框架,在简单的使用之后,发现竟然是如此的简 ...

  5. Net Core Docker

    Net Core Docker轻量级的web框架   .net core现在已经有了大的发展,虽然笔者现在已经从事python开发,但是一直在关注.net的发展,在逛博客园的时候,发现有大家都会提到N ...

  6. Python服务Dokcer化并k8s部署实例

    这篇文章记录了我试验将一个基于python的服务docker化并k8s部署的过程. 服务介绍Docker化设计业务代码改造创建docker镜像K8S部署设计yaml文件运行服务介绍这是一个用 pyth ...

  7. 测试环境docker化—容器集群编排实践

    本文来自网易云社区 作者:孙婷婷 背景 在前文<测试环境docker化-基于ndp部署模式的docker基础镜像制作>中已经详述了docker镜像制作及模块部署的过程,按照上述做法已可以搭 ...

  8. 从头认识一下docker-附带asp.net core程序的docker化部署

    从头认识一下docker-附带asp.net core程序的docker化部署 简介 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是 ...

  9. ASP.NET Core使用Docker进行容器化托管和部署

    一.课程介绍 人生苦短,我用.NET Core!今天给大家分享一下Asp.Net Core以Docker进行容器化部署托管,本课程并不是完完全全的零基础Docker入门教学,课程知识点难免有没覆盖全面 ...

随机推荐

  1. 117.C语言实现桌面输出图片,桌面输出文字,桌面画线

    通过获取窗口句柄,然后获取窗口DC,然后画图 #include <Windows.h> #include <stdio.h> //桌面画线 void drawLine() { ...

  2. GPUImage ==> 一个基于GPU图像和视频处理的开源iOS框架

    Logo 项目介绍: GPUImage是Brad Larson在github托管的开源项目. GPUImage是一个基于GPU图像和视频处理的开源iOS框架,提供各种各样的图像处理滤镜,并且支持照相机 ...

  3. 【hdu 2328】Corporate Identity

    [链接]h在这里写链接 [题意] 找一个字典序最小的公共最长子串; [题解] 后缀数组. 把所有的串用不同的分隔符分开.(大于'z'的分隔符); 然后求出那几个固定的数组. 二分一下那个子串的长度. ...

  4. (6)uboot具体解释——关闭缓存和mmu

    uboot具体解释--关闭缓存和mmu 当设置完时钟分频以后,uboot就会运行cpu_init_crit汇编函数,这个函数的主要作用就是关闭缓存和mmu.然后调用lowlevel_init函数进行系 ...

  5. MySQL字符编码问题,Incorrect string value

    MySQL上插入汉字时报错例如以下.详细见后面分析. Incorrect string value: '\xD0\xC2\xC8A\xBEW' for column 'ctnr' at row 1 M ...

  6. 让自己的软件实现拖拽打开文件(覆盖WM_DROPFILES,使用DragQueryFile,DragFinish API函数)

    作者: 帅宏军 //声明 protected    procedure WMDROPFILES(var Msg : TMessage); message WM_DROPFILES; --------- ...

  7. LA 3602 - DNA Consensus String 枚举

    原题地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  8. 克隆windows 2008 x64 后网络问题

    克隆windows 2008 x64 后,网卡中配置IP地址192.168.199.40 (NAT 模式) 内网无法ping 通该机器. 使用ipconfig 查看IP显示为 169.254.203. ...

  9. (转)SQL Server 2012笔记分享-25:配置备份维护计划

    本文转自http://543925535.blog.51cto.com/639838/1427529 在日常的SQL维护中,有很多需要重复周期性去做的工作我们不太可能去手动操作完成,比如备份作业.重建 ...

  10. Spring-Boot整合freemarker引入静态资源css、js等(转)

    一.概述 springboot 默认静态资源访问的路径为:/static 或 /public 或 /resources 或 /META-INF/resources 这样的地址都必须定义在src/mai ...