参考文章:

https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html

https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html

docker for windows下载连接: https://docs.docker.com/docker-for-windows/install/

关于配置的细节以及docker的下载安装等操作,参考文章中已经介绍的很详细了。

由于我从来没搞过虚拟机也完全不懂linux语言等...所以还是耽误了半天时间...

由于公司最近在搞服务化,看了些soa相关的资料,都会多多少少提到docker,本人表示很好奇,特此来研究下

所以本文主要附上一个傻瓜教程。以及把配置中需要注意的点说一下。

在阅读本文之前建议先看上面的两篇参考文章

文中没有详细解说的内容均可在参考文章中查到

第一步:安装docker for windows

安装之前需要开启 Hyper-V虚拟机功能,启用方式可以自己搜索,Hyper-V 启动之后,同时也要到bios中启用cpu的虚拟化。

好吧如果你实在懒得查询的话我可以直接给你发一个百度连接:https://jingyan.baidu.com/article/15622f24017461fdfdbea554.html

直到任务管理器中的虚拟化显示开启表示成功

第二步:创建一个webapi程序

当然你可以在vs中或者随便哪里创建一个,然后将程序发布



第三步:创建Dockerfile文件

在webapi的根目录下创建一个文本文档Dockerfile.txt

内容:

# 声明使用的基础镜像

FROM microsoft/dotnet:latest

# 将本地dotnet core 应用拷贝到 容器 /app/ 目录下

COPY bin/Debug/netcoreapp2.0/publish/ /app/

# 设置工作目录

WORKDIR /app

# 设置导出端口

EXPOSE 5000/tcp

# 指定应用入口点

ENTRYPOINT ["dotnet", "/app/NetCore.dll"]

这里解释下部分参数

  • 第1行:代表程序的镜像需要依赖哪个镜像 :latest 表示镜像版本为最新的
  • 第2行:将你的程序文件夹拷贝到 镜像的app目录下
  • 最后一行:NetCore.dll是你的api的dll名称

编辑完成之后记得将文件的后缀名去掉

第三部:创建镜像

进入power shell界面

cd命令切换到webapi的根目录

执行命令:

docker build -t myapi .

注意命令中的最后一个点 代表的是命令从你的当前目录下执行

不出意外的话镜像创建完毕

然后继续执行命令运行:

docker run -it -p 5000:5000 myapi

这里的5000:5000 代表把容器内的5000端口映射到你主机的5000端口

然后 http://localhost:5000 就可以访问啦!

Windows下docker的安装,将ASP.NET Core程序部署在docker中的更多相关文章

  1. [aspnetcore]asp.net core程序部署到Ubuntu中的路径问题

    先标记下正确写法 new FileInfo(Environment.CurrentDirectory + "/Config/Log4net.config") 很多同行喜欢这样写: ...

  2. Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署

    运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...

  3. ASP.NET Core教程:ASP.NET Core 程序部署到Windows系统

    一.创建项目 本篇文章介绍如何将一个ASP.NET Core Web程序部署到Windows系统上.这里以ASP.NET Core WebApi为例进行讲解.首先创建一个ASP.NET Core We ...

  4. Docker的asp.net core应用部署系列——docker pull 加速

    原文:Docker的asp.net core应用部署系列--docker pull 加速 版权声明:本文为博主原创文章,随意转载. https://blog.csdn.net/Michel4Liu/a ...

  5. Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署

    运行环境 照例,先亮底 centos:7.2 cpu:1核 2G内存 1M带宽 辅助工具:xshell xftp 搭建.net core运行环境 .net core 的运行环境我单独写了一篇,请看我的 ...

  6. ASP.NET Core教程:ASP.NET Core程序部署到Linux

    一.前言 这篇文章我们将讲解如何将ASP.NET Core 程序部署到Linux.这里我们使用的是虚拟机里面安装的Centos7.这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例 ...

  7. docker多个容器连接 将 Rails 程序部署到 Docker 容器中

    在docker中使用MySQL数据库 https://yq.aliyun.com/articles/583765 将 Rails 程序部署到 Docker 容器中

  8. Windows下docker的安装,将ASP.NET Core程序部署在Linux和Docker中

    参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: htt ...

  9. ASP.NET Core 2.0 in Docker on Windows Container

    安装Docker for Windows https://store.docker.com/editions/community/docker-ce-desktop-windows 要想将一个ASP. ...

随机推荐

  1. [译]移动API安全终极指南

    文章主要讲了移动api调用的授权和验证问题,原文链接:The Ultimate Guide to Mobile API Security 移动API的使用是Stack Overflow和 Stormp ...

  2. 数据结构--汉诺塔递归Java实现

    /*汉诺塔递归 * 1.将编号0-N-1个圆盘,从A塔座移动到B上面 * 2.将编号N的1个圆盘,从A移动到C上面 * 3.最后将B上面的N-1个圆盘移动到C上面 * 注意:盘子的编号从上到下1-N ...

  3. SpringMVC知识一锅烩

    Spring简介 SpringMVC和Struts2一样都是属于表现层的框架,将前段发出的请求分发给对应的后端处理器即Controller 处理流程 用户请求被前端控制前拦截,然后根据对应的拦截路径去 ...

  4. python基础阶段 经典练习题 拾英札记(2)

    因为编程的练习题是交互式的,在不断调试和不断渐进完善中,你会有一种成就感和快乐感,不断的修缮,不断的尝试. 其实,认知自己,和探索世界,也是这样的啊. 只要不放弃,要坚持. #7  根据列表lt,实现 ...

  5. ASP.NET Core 认证与授权[6]:授权策略是怎么执行的?

    在上一章中,详细介绍了 ASP.NET Core 中的授权策略,在需要授权时,只需要在对应的Controler或者Action上面打上[Authorize]特性,并指定要执行的策略名称即可,但是,授权 ...

  6. python 面对post分页爬虫

    分享一则对于网抓中面对post请求访问的页面或者在分页过程中需要post请求才可以访问的内容! 面的post请求的网址是不可以零参访问网址的,所以我们在网抓的过程中需要给请求传表单数据,下面看一下网页 ...

  7. 一步一步搞懂支持向量机——从牧场物语到SVM(上)

    之前在数据挖掘课程上写了篇关于SVM的"科普文",尽量通俗地介绍了SVM的原理和对各公式的理解.最近给正在初学机器学习的小白室友看了一遍,他觉得"很好,看得很舒服&quo ...

  8. 如何编写单元测试-基于Spring

    单元测试 首先单元测试真的算是一种"脏活累活",但是我个人感觉还是有必要,至少本人最近开始写单元测试后还是能发现一些"bug"的. 如何写单元测试 单元测试的要 ...

  9. ECMAScript 6 第一天 let和const命令

    ES6新增声明变量的方法let命令,const命令. (ES5只有两种声明变量的方法:var 命令和 function 命令.) let命令,用来声明变量. 与var声明变量不同于: 1.  let声 ...

  10. SparseArray,SparseBooleanArray和SparseIntArray

    package android.util; import com.android.internal.util.ArrayUtils; /** * SparseArrays 利用integer去管理ob ...