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. 23种GoF设计模式的分类

    GoF设计模式一共有23个.一般可以按目的和作用范围来进行划分,具体划分方法如下: 第一,这些模式按目的(即完成什么样任务)来划分为创建型.结构型和行为型这三种模式: 创建型:用来创建对象.单例.原型 ...

  2. 使用FastReport报表工具实现信封套打功能

    在较早期的报表套打的时候,我倾向于使用LODOP的ActiveX进行报表的打印或者套打,BS效果还是很不错的.之前利用它在Winform程序里面实现信封套打功能,详细参考<基于信封套打以及批量打 ...

  3. 纵论WebAssembly,JS在性能逆境下召唤强援

    webassembly的作用 webassembly是一种底层的二进制数据格式和一套可以操作这种数据的JS接口的统称.我们可以认为webassembly的范畴里包含两部分 wasm: 一种体积小.加载 ...

  4. 复制节点(cloneNode)

    DOM提供用来复制节点方法. cloneNode():将为给定节点创建一个副本,这个方法的返回值是一个指向新建克隆节点的引用指针, reference = node.cloneNode(deep) 这 ...

  5. 螺旋矩阵II

    Given a positive integer n, generate a square matrix filled with elements from 1 to n2 in spiral ord ...

  6. python基础-网络编程part02

    TCP协议 TCP是传输控制协议,建立双向通道. 三次握手,建立连接 客户端向服务端发送建立连接的请求 服务端接收请求返回确认信息给客户端,并向客户端发送建立连接的请求 客户端接收请求返回确认信息给服 ...

  7. mysql插入的时间莫名的加一秒

    1.问题描述 我获取当天最大的时间: public static Date getEndOfDay(Date date) { LocalDateTime localDateTime = LocalDa ...

  8. 【Android - 自定义View】之自定义View实现“刮刮卡”效果

    首先来介绍一下这个自定义View: (1)这个自定义View的名字叫做 GuaguakaView ,继承自View类: (2)这个View实现了很多电商项目中的“刮刮卡”的效果,即用户可以刮开覆盖层, ...

  9. linux虚拟机中FTP本地用户模式配置流程

    1.首先在自己虚拟机中安装vsftpd服务,可以先去yum中下载(当然你要有本地yum仓库) 输入命令: yum  install  vsftpd 下载完成之后打开vsftpd服务 输入命令:syst ...

  10. ASI中POST请求和文件下载

    //POST请求 1 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { // 1.URL NSURL *url = ...