如何将dotnet core webapi发布到docker中

今天想起来撸一下docker,中途还是遇到些问题,但是这些问题都是由于路径什么的导致不正确,在这儿还是记录下操作过程,今天是基于windows来操作docker,先把windows搞定,后面再去Linux上搞docker。

1、前提条件

  • Win10系统,不能是家庭版,并且需要开启Hyper-V
  • 官网下载并安装:docker desktop for window
  • 注册一个docker hub的账号,用于后面可以把镜像推送到在线仓库中
  • 本地dotnet core开发环境

2、安装docker

  • 下载docker desktop后直接根据提示进行安装
  • 安装完成之后,打开CMD命令框,输入docker --version 能看到版本号就说明安装成功了
  • 登录dockerhub账号:docker login回车根据提示输入你的账号密码即可
  • cmd输入:docker run hello-world 拉取镜像并且运行一个容器
  • cmd输入:docker image ls 查看镜像列表
  • cmd输入:docker container ls 查看运行的容器列表
  • CMD输入:**docker --help** 可以查看docker命令的帮助信息

3、创建WebApi,编译发布到指定目录

4、在WebApi发布目录中建立DockerFile文件,添加如下内容

# 基于microsoft/dotnet:latest构建Docker Image
# FROM microsoft/dotnet:latest
# FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1903
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1903 # 将publish下的所有文件拷贝到工作目录
COPY *.* ./ # 端口
EXPOSE 5000 # 启动webapi
CMD ["dotnet", "WebApi.dll"]

5、CMD进入WebApi发布目录,构建WebApi镜像,并启动容器

  • CMD输入命令:docker image build -t yazid2020/test_webapi:1.0.1 .
  • 启动容器:docker run -it -p 8089:5000 yazid2020/test_webapi:1.0.1
  • 然后去访问接口,能看到已经能得到响应了

6、将镜像推送到docker hub中

  • 在docker hub中先建立一个Repository镜像仓储【yazid2020/test_webapi】
  • 将镜像推送到仓储:docker push yazid2020/test_webapi:1.0.1,这里可能会提示未登录,使用docker login登录即可
  • 到这里就完成了将core webapi发布到docker中,并且将镜像推送到在线仓储,以后再次使用这个镜像时,直接拉取运行即可
    docker pull yazid2020/test_webapi:1.0.1
docker run -it -p 8089:5000 yazid2020/test_webapi:1.0.1
# -it:表示需要提供一个模拟的shell环境
# -p 8089:5000:表示将DockerContainer的5000端口映射到主机环境的8089端口 不完善,或者还可以改进的地方可以给我留言,感谢!

如何将dotnet core webapi发布到docker中…的更多相关文章

  1. dotnet core webapi 发布部署到docker的步骤

    1. 创建web api项目,编译并测试成功 2. 在项目的根目录添加Dockerfile文件,注意:Dockerfile文件名区分大小写 文件内容如下 # 基于microsoft/dotnet:la ...

  2. dotnet core webapi +vue 搭建前后端完全分离web架构

    架构 服务端采用 dotnet core  webapi 前端采用: Vue + router +elementUI+axios 问题 使用前后端完全分离的架构,首先遇到的问题肯定是跨域访问.前后端可 ...

  3. Docker 为 ASP.NET Core WebApi 应用程序生成 Docker 映像,创建容器并运行

    1.使用VS2017新建ASP.NET Core WebApi项目 选择API启用Docker支持 2.为 ASP.NET Core WebApi 应用程序生成 Docker 映像,并创建容器运行 生 ...

  4. dotnet core webapi +vue 搭建前后端完全分离web架构(一)

    架构 服务端采用 dotnet core  webapi 前端采用: Vue + router +elementUI+axios 问题 使用前后端完全分离的架构,首先遇到的问题肯定是跨域访问.前后端可 ...

  5. 2017-03-04 dotnet core网站发布到Linux系统中

    今天开始学习dotnet core的开发,距离Visual Stuio 2017正式版的发布,也就是VS20周岁的生日还有三天,在我的电脑上安装的是VS2017 Enterprise RC版, 在VS ...

  6. CYQ.Data 正式支持 DotNET Core 版本发布

    闲话几句: 自从上周开始,IOS人员逝去,就开始接手IOS的代码了. 并开始整理IOS的代码(包括当时一开始设计的开发框架). 在未来不远的日子里,设想是有一个系列详细的介绍I恋App和IT连App及 ...

  7. Windows下docker的安装,将ASP.NET Core程序部署在docker中

    参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html https://www.cnblogs.com/jRo ...

  8. [尝鲜]妈妈再也不用担心 dotnet core 程序发布了: .NET Core Global Tools

    什么是 .NET Core Global Tools? Global Tools是.NET Core 2.1 中一个初次出现的特性.Global Tools提供了一种方法,让开发人员编写的.NET C ...

  9. .net core webapi发布

    地址:https://www.cnblogs.com/laozhang-is-phi/p/9565227.html#autoid-5-1-0 地址2:https://www.cnblogs.com/f ...

随机推荐

  1. display:flex 简单记录

    1.有写了 display:flex:这个就是 采用了 flex布局的 元素 这个元素可以 写 6个属性: flex-direction : row |  column  | row-reverse ...

  2. 高数解题神器:拍照上传就出答案,这个中国学霸做的AI厉害了 | Demo

    一位叫Roger的中国学霸小哥的拍照做题程序mathAI一下子火了,这个AI,堪称数学解题神器. 输入一张包含手写数学题的图片,AI就能识别出输入的数学公式,然后给出计算结果. 不仅加减乘除基本运算, ...

  3. Ceph学习笔记(2)- CRUSH数据分布算法

    前言: ​ 分布式存储系统需要让数据均匀的分布在集群中的物理设备上,同时在新设备加入,旧设备退出之后让数据重新达到平衡状态尤为重要.新设备加入后,数据要从不同的老设备中迁移过来.老设备退出后,数据迁移 ...

  4. PIGS POJ - 1149网络流(最短增广路---广搜) + 建图

    题意: 第一行输入m和n,m是猪圈的数量,n是顾客的数量,下面n行 第 i+1行表示第i个顾客 , 输入第一个数字表示有几把猪圈的钥匙,后面输入对应的猪圈,最后一个数字输入顾客想买几头猪. 建图: 设 ...

  5. c语言提取浮点型数据的整数部分与小数部分几种方法

    一 前记 最近涉及到把各种传感器的数据通过wifi和bt传输出去,这就涉及到了浮点传输的问题,为了方便传输,笔者的做法一般是把小数和整数部分分开,分别传输,这就比较简单明晰了. 二 方法论 其实,把浮 ...

  6. 从火车站车次公示栏来学Java读写锁

    Java多线程并发之读写锁 本文主要内容:读写锁的理论:通过生活中例子来理解读写锁:读写锁的代码演示:读写锁总结.通过理论(总结)-例子-代码-然后再次总结,这四个步骤来让大家对读写锁的深刻理解. 本 ...

  7. IdentityServer 部署踩坑记

    IdentityServer 部署踩坑记 Intro 周末终于部署了 IdentityServer 以及 IdentityServerAdmin 项目,踩了几个坑,在此记录分享一下. 部署架构 项目是 ...

  8. vulnhub~incllusiveness

    这个机子相对简单一点,但是也是从中发现了自己不少问题 技能一:  nmap 扫描发现了21,22 ,80三个端口,并且ftp服务允许匿名登录,在pub目录下面有writeable权限,这就好办了.我以 ...

  9. Django REST Framework 教程开篇

    作者:HelloGitHub-追梦人物 欢迎来到 HelloDjango 全栈系列教程第二步--Django REST Framework 教程! 首先恭喜你完成了 HelloDjango 全栈系列教 ...

  10. Ali_Cloud++:阿里云部署 Jenkins持续集成自动化部署

    安装方式: 1.yum 源安装 rpm包 2.结合 tomcat 使用 war包 ....... 下载地址:Dowlnoad  (分:长期支持版本 (LTS)  和  每周更新版) jenkins插件 ...