.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 里面会分享一些资深架构师录制的视频录像:高并发、高性能、分布式、微服务架构的原理,分布式架构等这些成为架构师必备的知识体系。
引用链接
.net core——Docker化开发和部署的更多相关文章
- .NET Core容器化开发系列(零)——计划
.NET Core相当完善的跨平台特性以及其轻量化的底层接口为我们能顺畅进行微服务开发提供了非常棒的基础. 作为支撑微服务最常见的基础技术--容器化将是本系列的核心内容. 接下来我计划用一个月左右的时 ...
- .NET Core容器化开发系列(一)——Docker里面跑个.NET Core
前言 博客园中已经有很多如何在Docker里面运行ASP.NET Core的介绍了.本篇主要介绍一些细节,帮助初学的朋友更加深入地理解如何在Docker中运行ASP.NET Core. 安装Docke ...
- 使用ML.NET + ASP.NET Core + Docker + Azure Container Instances部署.NET机器学习模型
本文将使用ML.NET创建机器学习分类模型,通过ASP.NET Core Web API公开它,将其打包到Docker容器中,并通过Azure Container Instances将其部署到云中. ...
- [Nancy On .Net Core Docker] 轻量级的web框架
.net core现在已经有了大的发展,虽然笔者现在已经从事python开发,但是一直在关注.net的发展,在逛博客园的时候,发现有大家都会提到Nancy这个框架,在简单的使用之后,发现竟然是如此的简 ...
- Net Core Docker
Net Core Docker轻量级的web框架 .net core现在已经有了大的发展,虽然笔者现在已经从事python开发,但是一直在关注.net的发展,在逛博客园的时候,发现有大家都会提到N ...
- Python服务Dokcer化并k8s部署实例
这篇文章记录了我试验将一个基于python的服务docker化并k8s部署的过程. 服务介绍Docker化设计业务代码改造创建docker镜像K8S部署设计yaml文件运行服务介绍这是一个用 pyth ...
- 测试环境docker化—容器集群编排实践
本文来自网易云社区 作者:孙婷婷 背景 在前文<测试环境docker化-基于ndp部署模式的docker基础镜像制作>中已经详述了docker镜像制作及模块部署的过程,按照上述做法已可以搭 ...
- 从头认识一下docker-附带asp.net core程序的docker化部署
从头认识一下docker-附带asp.net core程序的docker化部署 简介 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是 ...
- ASP.NET Core使用Docker进行容器化托管和部署
一.课程介绍 人生苦短,我用.NET Core!今天给大家分享一下Asp.Net Core以Docker进行容器化部署托管,本课程并不是完完全全的零基础Docker入门教学,课程知识点难免有没覆盖全面 ...
随机推荐
- 程序猿必须知道FTP命令
程序猿必须知道FTP命令 文件传输软件的使用格式为:FTP<FTP地址>.若连 接成功.系统将提示用户输入 ...
- Android DiskLruCache全然解析,硬盘缓存的最佳方案
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/28863651 概述 记得在非常早之前.我有写过一篇文章Android高效载入大图. ...
- jedate-开始使用一款好用的时间插件
jeDate日期控件 -(原生JS版)jeDate V6.5.0 是一款原生JS开发的 不依赖任何第三方库 大众化的日期控件,包含 多语言.设定年月(YYYY-MM).日期范围限制.开始日期设定.自定 ...
- 【CS Round #46 (Div. 1.5) A】Letters Deque
[链接]h在这里写链接 [题意] 在这里写题意 [题解] string类模拟 [错的次数] 0 [反思] 在这了写反思 [代码] /* */ #include <cstdio> #incl ...
- Spring HandlerInterceptor的使用
http://blog.csdn.net/joeyon1985/article/details/49903761
- python3 购物车小程序,余额写入文件保存
python3 购物车小程序,余额写入文件保存 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan goods = ( ...
- StackExchange.Redis 官方文档(五) Keys, Values and Channels
原文:StackExchange.Redis 官方文档(五) Keys, Values and Channels Keys, Values and Channels 在使用redis的过程中,要注意到 ...
- 9.4 Binder系统_驱动情景分析_服务使用过程
5. 服务使用过程 test_client进程: 用户态: (1)已结获得了“hello”服务,handle=1; (2)构造数据:code(那个函数)和函数参数 (3)发送ioctl后进入内核态,先 ...
- 在sublime text 3中安装中文支持 分类: C_OHTERS 2015-04-24 22:04 229人阅读 评论(0) 收藏
1.安装package control 使用control+~打开终端,然后输入以下内容并确定: import urllib.request,os;pf='Package Control.subli ...
- Setup iOS Development Environment.
Setup iOS Development Environment Install XCode and check-out source code from SVN XCode Please find ...