记录一次创建.net core 项目 并且发布到docekr【完全新手入门】
1】环境说明
操作系统:Window 10 专业版
开发工具 Vs2019专业版
Docker: Docker for Windows
2】创建.net core项目并且发布
2.0先打开并且运行Docker
2.1创建新项目,首先选择ASP.NET Core Web应用程序;进入到第二个页面之后 先在 应用程序中选择【Web引用程序(模型视图控制器)】,然后将高级的两个选项 全部勾选,并且在下拉框中选择Linux
.2.2项目创建之后,目录结构如图。vs2019会帮我们生成Docker文件(如果用其他版本vs没有生成的话先不管,等项目发布之后,直接在发布的文件中创建一个Dockerfile文件。注意Docker没有后缀)。选择Dockerfile文件的属性,将【复制到输出目录】选择为始终复制。然后打开Dockerfile文件,将其修改一下。上面注释的是vs生成的,而下面没有注释的则是在原来基础进行修改过的,可以看见 基本上是把注释的红圈中部分全部删除【.net core 3.1 经测试 ,方式也和2.2一样】
#FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
#WORKDIR /app
#EXPOSE
#EXPOSE
#
#FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
#WORKDIR /src
#COPY ["WebApplication1/WebApplication1.csproj", "WebApplication1/"]
#RUN dotnet restore "WebApplication1/WebApplication1.csproj"
#COPY . .
#WORKDIR "/src/WebApplication1"
#RUN dotnet build "WebApplication1.csproj" -c Release -o /app
#
#FROM build AS publish
#RUN dotnet publish "WebApplication1.csproj" -c Release -o /app
#
#FROM base AS final
#WORKDIR /app
#COPY --from=publish /app .
#ENTRYPOINT ["dotnet", "WebApplication1.dll"]
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
WORKDIR /app COPY . . EXPOSE
EXPOSE ENTRYPOINT ["dotnet", "WebApplication1.dll"]
为了在后面进行区分,将index页面修改一下
2.3完成以上之后发布项目,我这里发布方法是文件系统
3】发布到Docker上面
3.1先打开PowerShell,并且转到项目发布的目录下面
3.2 运行代码 【 docker build -t dockersample . 】注意最后面有一个点。创建镜像格式【docker build -t 镜像名称:版本号 .】=>【docker build -t TsImage:v1 .】
(docker build -t dockersample . 感觉有点特殊,依照这个格式创建镜像时候老是失败,除非名称是dockersample 建议按照创建镜像格式的标准建立镜像)
3.3运行Docker images 查看所有的镜像
3.4运行镜像 ,效果如图 出现一段字符串则说明运行成功【注意 -d dockersample 后面要加 TAG下的内容 比如 docker run --name-ts -p 2009:80 -d dockersample:latest 如果镜像名称后面不加任何内容,则默认为latest】
docker run --name=dockersamplel -p : -d dockersample
3.5最后通过20019端口访问发布的项目
4】注意
4.1 Dockerfile文件中的内容一定要正确,否则发布失败
4.2 用完之后无需再次使用可将镜像以及容器删除
4.3项目创建一开始就把Docker打开
4.4如果docker运行在本机,并且在本机测试 时候 注意安装 .net core运行环境【注意是选择hosting】
记录一次创建.net core 项目 并且发布到docekr【完全新手入门】的更多相关文章
- 使用VSCode创建.NET Core 项目,添加类库间引用
注:网络上搜索到的关于VsCode创建调试.Net Core 项目的文章都比较老旧,不能完全参考使用,根据网络文章.微软官方文档的指导下,学习并整理此文档,但也大体和文档学习路线相似,主要为记录学习过 ...
- 如果没有Visual Studio 2015,我们如何创建.NET Core项目 ?
对于.NET开发人员来说,我们已经习惯了VS这个世界上最强大的IDE,所以对他们来说,项目的创建直接利用安装到VS中相应的项目模板即可.当.NET Core跨出了Windows的围栏,正式拥抱其他平台 ...
- 创建.NET Core项目
创建.NET Core项目 ? 对于.NET开发人员来说,我们已经习惯了VS这个世界上最强大的IDE,所以对他们来说,项目的创建直接利用安装到VS中相应的项目模板即可.当.NET Core跨出了Win ...
- ASP.NET Core:创建一个Core项目
ylbtech-ASP.NET Core:创建一个Core项目 1.返回顶部 1. 2. 3. 4. 5. 2.返回顶部 1.新建Razor页面 2. 3. 4.Abc 4.1.Abc ...
- 在Centos7中创建.net core 项目,并用Apache做代理服务器部署.net core项目
这一篇实例记录一次用Centos7创建并部署.net core项目的过程,希望能帮到用到的小伙伴. Kestrel 是 ASP.NET Core 项目模板中包括的默认 Web 服务器,Kestrel可 ...
- vscode 创建.net core项目初体验
微软的virtual studio编辑器那是宇宙第一大编辑器,可惜就是太笨重,遇到性能差一些的电脑设备,简直无法快速的编辑项目. 而vs code编辑器轻便易用,想要编辑哪种项目,只需扩展插件就OK, ...
- 使用jenkins 实现 .net core项目自动发布到 docker
在Docker内运行Jenkins pull镜像 docker pull jenkins/jenkins:lts Dockerfile FROM jenkins/jenkins:lts USER r ...
- Docker 简单发布dotnet core项目 图文版
原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 需要结合这个版本看哈 地址:https://ww ...
- 解决vs2017创建.net core失败以及不能登录问题
创建.net core web 提示值不能为空,开始以为是vs安装错误,重新安装了一遍也是这样,之前都好好的,然后登录也不行了(提示我们无法刷新此账号的凭据),百度了下,是ie不能上网的问题.解决了登 ...
随机推荐
- 程序员需要掌握的七种 Python 代码更易维护的武器
检查你的代码风格 PEP 8 是 Python 代码风格规范,它规定了类似行长度.缩进.多行表达式.变量命名约定等内容.尽管你的团队自身可能也会有稍微不同于 PEP 8 的代码风格规范,但任何代码风格 ...
- JavaScript笔记十
1.正则表达式 - 语法: - 量词 {n} 正好n次 {m,n} m-n次 {m,} 至少m次 + 至少1次 {1,} ? 0次或1次 {0,1} * 0次或多次 {0,} - 转义字符 \ 在正则 ...
- vue路由跳转
- Socket 实现简单的多线程服务器程序
**********服务器端************* public class ServerSocket{ public static void main(String[] args) throws ...
- 预分配——fallocate的前世今生
最近比较懒,还是加班写点东西吧,不然过段时间又把这些整理的东西弄丢了. 写什么呢?写一些跟工作相关的吧!因为笔者从事多媒体录像相关的开发工作,因此常常涉及到优化写卡策略.提升写卡性能相关的方面的事情. ...
- 算法整理(php语言完成),持续更行中......
一下所有实例中,均在同一个方法中,所以算法使用内部函数完成 归并排序 public function test1Action () { $tmp = 0; $al_merge = function($ ...
- Spring(Bean)6
生命周期构造 --->set--->Bean init前后执行 (新创建 类) public class MyBeanPostProcesser implements BeanPostPr ...
- Python的特有的参数传递(*和**)
目录 值传递 引用传递 python的传递方式具有两种值传递和引用传递.除此之外,python中还允许包裹方式的参数传递,这未不确定参数个数和参数类型的函数调用提供了基础: 值传递 int.float ...
- 双显卡安装Ubuntu 18.04和NVIDIA驱动
踩坑笔记: 用软碟通制作UBUNTU18.04 LTS启动盘 长按DEL键进入BIOS,关闭Security Boot,设置USB优先启动 在黑白的grub引导界面(第一行是Try Ubuntu- 第 ...
- 八分音符(频率)卷积算子 Octave Convolution
为什么读此系列文章? 优化数学和计算理论帮助机器学习完成问题分类: 1)按照领域划分,比如计算机视觉,自然语言处理,统计分析预测形: 2)按照算法复杂划分,比如是否是NP-Hard问题,是否需要精确解 ...