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【完全新手入门】的更多相关文章

  1. 使用VSCode创建.NET Core 项目,添加类库间引用

    注:网络上搜索到的关于VsCode创建调试.Net Core 项目的文章都比较老旧,不能完全参考使用,根据网络文章.微软官方文档的指导下,学习并整理此文档,但也大体和文档学习路线相似,主要为记录学习过 ...

  2. 如果没有Visual Studio 2015,我们如何创建.NET Core项目 ?

    对于.NET开发人员来说,我们已经习惯了VS这个世界上最强大的IDE,所以对他们来说,项目的创建直接利用安装到VS中相应的项目模板即可.当.NET Core跨出了Windows的围栏,正式拥抱其他平台 ...

  3. 创建.NET Core项目

    创建.NET Core项目 ? 对于.NET开发人员来说,我们已经习惯了VS这个世界上最强大的IDE,所以对他们来说,项目的创建直接利用安装到VS中相应的项目模板即可.当.NET Core跨出了Win ...

  4. 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 ...

  5. 在Centos7中创建.net core 项目,并用Apache做代理服务器部署.net core项目

    这一篇实例记录一次用Centos7创建并部署.net core项目的过程,希望能帮到用到的小伙伴. Kestrel 是 ASP.NET Core 项目模板中包括的默认 Web 服务器,Kestrel可 ...

  6. vscode 创建.net core项目初体验

    微软的virtual studio编辑器那是宇宙第一大编辑器,可惜就是太笨重,遇到性能差一些的电脑设备,简直无法快速的编辑项目. 而vs code编辑器轻便易用,想要编辑哪种项目,只需扩展插件就OK, ...

  7. 使用jenkins 实现 .net core项目自动发布到 docker

    在Docker内运行Jenkins pull镜像  docker pull jenkins/jenkins:lts Dockerfile FROM jenkins/jenkins:lts USER r ...

  8. Docker 简单发布dotnet core项目 图文版

    原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 需要结合这个版本看哈 地址:https://ww ...

  9. 解决vs2017创建.net core失败以及不能登录问题

    创建.net core web 提示值不能为空,开始以为是vs安装错误,重新安装了一遍也是这样,之前都好好的,然后登录也不行了(提示我们无法刷新此账号的凭据),百度了下,是ie不能上网的问题.解决了登 ...

随机推荐

  1. win10 下安装zookeeper+Kafka 的详细步骤(2)

    Win10 下要使用Kafka需要经过以下三个步骤: 1.安装JDK(需要安装依赖java JDK) 2.安装zookeeper(资源协调,分配管理) 3.使用Kafka开发 ============ ...

  2. 浅谈Python中函数式编程、面向对象编程以及古怪的PythonIC

    1.函数式编程作为结构化编程的一种,正在受到越来越多的重视.那么什么事函数式编程呢? 在维基百科中给出了详细的定义,函数式编程又称泛函数编程,是一种编程规范,它将函数运算视为数学上的函数计算.简单的来 ...

  3. django初始化

    Django 版本 安装 pip安装 pip install django 安装最新版本的 pip install django==1.11.11 安装指定版本的 验证安装 直接去代码中调用djang ...

  4. Layui下拉3级联动

    这里我就不给大家详细说明了直接附图: js代码: layui.use(['layer', 'form','xform','layer'], function () { var element = la ...

  5. 并行通信芯片8255A学习总结

    并行通信接口8255A AB口为两个数据端口,C口可以作为数据端口也可以作为状态端口 8255A是一个40引脚的双列直插式芯片 引脚如下 D0-D7:双向数据信号线. RD:读信号线. WR:写信号线 ...

  6. ThinkPHP5——模型关联(一对多关联)

    关联定义 一对多关联的情况也比较常见,使用hasMany方法定义,参数包括: hasMany('关联模型名','外键名','主键名',['模型别名定义']); 例如租客表和宿舍表,一个宿舍有多个租客, ...

  7. Flask容器化部署原理与实现

    本文将介绍Flask的部署方案:Flask + Nginx + uWSGI,并使用docker进行容器化部署,部署的实例来源 Flask开发初探,操作系统为ubuntu. Flask系列文章: Fla ...

  8. [UWP]使用CompositionGeometricClip裁剪复杂图形及进行动画

    1. UWP中的其它裁剪方案 之前在 这篇文章 里,我介绍了如何使用UIElement.Clip裁剪UIElement的内容,使用代码如下: <Canvas> <Image Sour ...

  9. 「Python 编程」编码实现网络请求库中的 URL 解析器

    摘要:怎么写出更短的代码并不是这次要讨论的话题.今天我们来研究一下:运行代码的计算机是如何找到目标服务器的? 相信各位 Python 开发者都用过 Requests 库,有些朋友还用过 WebSock ...

  10. MySQL必知必会(组合Where子句,Not和In操作符)

    SELECT prod_id, prod_price, prod_name FROM products ; SELECT prod_id, prod_price, prod_name FROM pro ...