ASP.NET Core 2.1 使用Docker运行

1.新建一个 ASP.NET Core 2.1 项目

640?wx_fmt=png

然后运行一下项目,确保我们刚刚建立的项目可以正常运行。

640?wx_fmt=png

2.编写 Dockerfile

新建一个文本文件,命名为 Dockerfile

FROM microsoft/dotnet:2.1-aspnetcore-runtimeWORKDIR /appCOPY . .EXPOSE 80ENTRYPOINT ["dotnet", "AspNetCore.Docker.dll"]

这里我们需要用到官方的镜像:microsoft/dotnet:2.1-aspnetcore-runtime

如果要尝试更小的镜像,可以试试 microsoft/dotnet:2.1-aspnetcore-runtime-alpine ,这镜像使用了alpine 一款精简版极小的linux,但是随之而来的就是阉割了一些功能,实际使用的时候需要测试,比如国际化支持,它默认在这个镜像里面没有开启,需要配置环境变量来开启。

需要设置Dockerfile的如下属性,保证其能复制到发布目录:

640?wx_fmt=png

3.构建Docker镜像

我们将镜像命名为 :aspnetcoredocker

进入到发布文件目录,执行命令便可打包镜像:

docker build -t aspnetcoredocker .

我们可以编写 发布+构建 的脚本。

Windows:

文件名:build.bat

@echo offecho "Windows Docker build"cd ../AspNetCore.Dockerdotnet publish -c Release -o ../publishcd ../publishecho "publish success"docker build -t aspnetcoredocker .

文件名:Linux:

build.sh

#!/bin/bashecho Linux Docker buildcd ../AspNetCore.Dockerdotnet publish -c Release -o ../publishcd ../publishecho publish successdocker build -t aspnetcoredocker .

文件夹结构如下图:

640?wx_fmt=png

执行构建:

./build.sh

640?wx_fmt=png

构建成功后可以通过 docker images 命令查询到我们构建的镜像:

640?wx_fmt=png

若在linux下执行sh脚本时,遇到错误“-bash: ./build.sh: /bin/bash^M: bad interpreter: No such file or directory“,请通过vim/vi编辑sh脚本,按:建,输入 set ff=unix,然后回车、wq保存即可

4.运行镜像

通过命令运行

docker run --name=aspnetcoredocker -p 7777:80 -d  aspnetcoredocker

--name:指定容器名称

-p:指定容器端口

-d:指定容器 后台运行

出现一长串字符串,便是表示运行成功:

640?wx_fmt=png

我们也可以通过 docker ps 命令,查询我们正在运行的容器:

640?wx_fmt=png

我们还可以通过 docker logs <容器名称或者id>来查看启动日志:

640?wx_fmt=jpeg

5.验证访问

我们可以通过 curl命令来直接访问我们容器启动的asp.net core 网站:

640?wx_fmt=png

或者直接通过浏览器访问:

640?wx_fmt=png

至此,我们通过Docker运行asp.net core 2.1应用程序就结束了。

6.资料

本文所用代码:https://github.com/stulzq/BlogDemos/tree/master/AspNetCore.Docker

原文地址:https://www.cnblogs.com/stulzq/p/9201830.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【DP】和谐的奶牛(jzoj 1750)

和谐的奶牛 题目大意&#xff1a; 有一些括号&#xff08;保证是合法的&#xff0c;合法&#xff1a;每一个左括号都有自己配对的有括号&#xff09;&#xff0c;现在要将这些括号分为两组&#xff08;其中一组可以为空&#xff09;&#xff0c;分完组后括号的顺序要和原来的…

费用流-Wannafly Day2 TwoGraph-神题

TwoGraph 题意 题解 这真是一道神题,这题有两点比较难想,其中第一点是最难想的. 我们先考虑只有一张图的情况. 性质: [1]如果给每个点匹配一条边,形成一个(点,边)(点,边)(点,边)对,其中点不能重复出现,边也不能重复出现.那么这些对形成的图的联通块要么是树,要么是环套树. 证…

ASP.NET Core Web API 与 SSL

SSL一直没有真正研究过SSL&#xff0c;不知道下面的理解是否正确。SSL是Secure Sockets Layer的缩写&#xff0c;它用来保护服务器和客户端之前的通信。它是基于信任加密的概念。在介绍SSL的原理之前&#xff0c;首先介绍一下加密&#xff08;Encryption&#xff09;的概念。刷…

【模拟】聊天服务器的外部流量

聊天服务器的外部流量 题目大意&#xff1a; 有一个通讯系统&#xff0c;可以将某人邀请进来&#xff08;name&#xff09;&#xff0c;也可以将某人T出去&#xff08;-name&#xff09;&#xff0c;也可以向群中的所有人发一条信息&#xff08;name&#xff1a;…&#xff0…

GitHub宣布GitHub Education 新计划,学校可免费用企业版

今天 GitHub 宣布面向所有学校和教育机构开放 GitHub Education&#xff0c;方便学生和老师免费使用 GitHub 企业版功能&#xff0c;以及学生开发者工具包、GitHub 教室、培训等资源。2014 年&#xff0c;GitHub 推出了学生开发者工具包&#xff0c;其中包括 Azure 等云服务、G…

【dfs】聚会

聚会 题目大意&#xff1a; 有一些树&#xff0c;求深的树的深度 原题 解题思路&#xff1a; 从一个根出发&#xff0c;dfs往下搜 代码&#xff1a; #include<cstdio> #include<iostream> #include<cstring> using namespace std; int n,t,g,w,ans,c[2…

2018 大湾区(深圳) .NET技术分享交流会 第一期

.NET Core 2.1 已于2018年5月30日正式发布&#xff0c;邀请粤港澳大湾区.NET技术专家和从业人员&#xff0c;一起分享与交流.NET技术的发展方向&#xff0c;提高粤港澳大湾区.NET技术交流氛围&#xff0c;挖掘.NET高级人才&#xff0c;为改善.NET生态系统贡献力量&#xff0c;使…

卡车

卡车 题目大意&#xff1a; 有一个卡车向里面放东西&#xff08;重量要么是一要么是二&#xff09;&#xff0c;价值不同&#xff0c;放的东西的价值之和最大是多少 原题&#xff1a; 解题思路&#xff1a; 看看数据就知道DP会MLE&#xff0c;所以要用排序来做&#xff0c;…

从明面上学习ASP.NET Core

一、前言这篇文章就是从能看到地方去学习Core&#xff0c;没有很深奥&#xff0c;也没有很难懂&#xff0c;现在我们开始吧。二、构建项目&#xff0c;引发思考创建项目的步骤真的很简单&#xff0c;你要是不会&#xff0c;我真也没法了&#xff0c;我这是创建的MVC的项目。接下…

线段树-区间的交

区间的交 题目来源 孙耀峰Segment_Tree.pdf 原创 题目描述 给定nnn个区间,[li,ri][l_i,r_i][li​,ri​],可以选出其中一些区间,设选出tottottot个,令xxx表示这tottottot个区间交的长度.求min{x,tot}min\{x,tot\}min{x,tot}n≤105,1≤xi≤yi≤nn \le 10^5,1 \le x_i \le y_i…

【DP】收银员

收银员 题目大意&#xff1a; 有n件物品&#xff0c;每件物品有他的扫描时间和价格&#xff0c;在扫描的时候可以偷物品&#xff08;一个单位时间偷一件&#xff09;&#xff0c;问最少给多少钱 原题&#xff1a; 解题思路&#xff1a; 设f[j]为偷或买共j件花的最少钱&…

.Net Core小技巧 - Swagger适配虚拟目录及二级目录

前言随着前后端分离模式与微服务架构的出现&#xff0c;Web API变得越来越重要及普遍。而后出现的网关技术&#xff0c;使开发者更倾向于使用二级/多级目录来暴露Web API&#xff0c;一是暴露的端口更少&#xff0c;方便管理&#xff1b;二是在网关中可以处理一些公共的事务&am…

好代码是管出来的——使用Git来管理源代码

软件开发过程中一个重要的产出就是代码&#xff0c;软件的编码过程一般是由一个团队共同完成&#xff0c;它是一个并行活动&#xff0c;为了保证代码在多人开发中能够顺利完成&#xff0c;我们需要使用代码版本控制工具来对代码进行统一存储&#xff0c;并追踪每一份代码的历史…

定时调度系列之Quartz.Net详解

一. 背景我们在日常开发中&#xff0c;可能你会遇到这样的需求&#xff1a;"每个月的3号给用户发信息&#xff0c;提醒用户XXX "、"每天的0点需要统计前一天的考勤记录"、"每个月的1号计算上个月的库存情况"、"定时初始化数据供其它业务使用…

RyuJIT的华丽转身

RyuJIT是作为.NET即时编译器的代号称谓&#xff0c;它是.NET运行时的基本组件之一。与此相反的是&#xff0c;Roslyn作为C#编译器&#xff0c;其编译C#代码成为IL字节码。然后&#xff0c;其再将IL字节码编译成相对于多种处理器的机器码。随着最近对dotnet/coreclr #18064的合并…

使用Nexus搭建私有Nuget仓库

前言Nuget是ASP .NET Gallery的一员&#xff0c;是免费、开源的包管理工具&#xff0c;专注于在.Net / .Net Core应用开发过程中第三方组件库的管理&#xff0c;相对于传统单纯的dll引用要方便、科学得多。其中nuget.org是最著名的Nuget公开库&#xff0c;但是企业内部开发的&a…

好代码是管出来的——Git的分支工作流与Pull Request

上一篇文章好代码是管出来的——使用Git来管理源代码 介绍了常用的版本控制工具以及git的基本用法&#xff0c;从基本用法来看git与其它的版本控制工具好像区别不大&#xff0c;都是对代码新增、提交进行管理&#xff0c;可以查看提交历史、代码差异等功能。但实际上git有一个重…

【Floyed】小萨的烦恼(ssl 1624)

小萨的烦恼 ssl 1624 题目大意&#xff1a; 一个无向图&#xff0c;可以使其中一条道路的值除以2&#xff0c;求两个点之间的最短路 原题&#xff1a; Description 圣诞节又要到了&#xff01;小萨希望和自己心仪的MM一起出去度过一个浪漫的的圣诞节。他进行了详尽的准备…

好代码是管出来的——使用GitHub

前面的文章介绍了Git的基本概念和用法&#xff0c;本文则是基于GitHub的一个实践介绍&#xff0c;主要内容有&#xff1a;GitHub简介个人与组织仓库的创建与维护Fork与pull request小结GitHub简介GitHub是一个Git的远程代码托管平台&#xff0c;它除了提供代码托管外&#xff0…

【模拟】正方形

正方形 题目大意&#xff1a; 有三个人&#xff0c;一人一笔的画正方形&#xff0c;每个正方形是上一个正方形每条边上的中点连接而成的&#xff0c;求每个人画了多长 原题&#xff1a; 题目描述 又到暑假啦&#xff0c;Conan, Ayumi, Mitsuhiko, Genta一起到Hakase家愉快…