今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker。

在Windows安装 docker 有两种选择 :
1、docker for windows
2、docker toolbox
区别:
docker for windows-64位Windows 10、必须开启 Hyper-V
docker toolbox -有virtualbox即可

今天只给大家介绍 docker for windows安装

地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe

我们下载按照步骤一步步安装就ok了,安装之后打开可能会出现一个错误,如果没有出现那肯定万事大吉咯!

Hyper-V 没开不能启动:
以管理员身份打开 PowerShell 控制台。
运行以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

现在我们再来启动即可,在右下角也会有一个图标,悬浮上去显示 docker desk is running,表示已经安装成功(这个会提示我们登录,不过登录不登录问题都不是太大,登录之后可以连接到(Docker Hub)

接下来正式进入我们今天的主题,如何而使用 docker for windows 来运行 .netcore(Start)

首先我们创建一个.net core web项目

然后我们去项目根目录去看,会发现有一个Dockerfile的文件,同样我们需要在项目当中修改Dockerfile文件的属性,修改为较新则复制。

我们可以运行一下.net core看一下出来的页面效果,到现在我们需要的.net core的事例已经准备好了,我们现在开始在docker 中部署了。
我们打开PowerShell ,输入 docker info 出现下面的界面的样子证明docker 一切正常。

我们进入到我们刚刚创建的.net core 项目的根目录,然后开始构建docker镜像,要注意命令后面的那个 . ,意思是当前目录

docker build -t demotest .

然后我们发现在执行到第六步的时候报错了,说什么在该路径找不到该文件

我也卡在这里卡了很久,最后发现路径拼接起来不对。我们仔细检查下Dockerfile文件的第六步发现文件路径是dockertest/dockertest.csproj,再结合我们当前路径是E:\Docker\dockertest
\dockertest,组合一来看,多了一个dockertest,然后我们修改Dockerfile文件中的路径去掉这个多的dockertest/

然后我们再来执行docker build -t demotest .然后发现我们在第10步的时候又出错了,说这个程序不包含适合入口点的静态'Main'方法,我们继续检查下Dockerfile文件,发现第9步那个工作路径
是/src/dockertest,我们拼接一下发现,又多了一个/dockertest,我们接着继续去掉这个,然后继续运行docker build -t demotest .

这一次终于不负众望。它完整的运行完成了所有的步骤并且提示了

Successfully built eaa8cea8fcf4
Successfully tagged demotest:latest

我们来看看构建镜像是否真的成功了吧

docker images

我们发现了这一个,是我们刚刚创建的demotest,既然镜像我们已经创建成功了,那我们正式运行起来看看是否可用。

docker run --name=demotest -p : -d demotest
--name:指定容器名称
-p:指定容器端口
-d:指定容器 后台运行

然后出现了一串字符串,说明我们启动成功了,然后我们查看一下我们正在运行的容器

docker ps

然后我们去浏览器输入ip+7778,看到如下页面证明这次docker for windows  +.net core 成功运行了。

那么到这里我们的第一的windows+docker运行.netcore算是正式完工了,然后在给大家介绍一些较为常用的docker命令(命令)

docker build -t demotest .    构建 demotest镜像
docker images 查看当前所有的镜像
docker inspect demotest 查看 运行容器的详情
docker ps 查看当前运行的容器
docker ps -a 查看当前所有的容器
docker stop demotest 停止运行demotest容器
docker start demotest 开启运行demotest容器
docker rm demotest 删除demotest容器
docker rmi demotest 删除demotest镜像
docker rm $(docker ps -aq) 删除所有容器
docker rmi $(docker images -q) 删除所有镜像

  欢迎大家扫描下方二维码,和我一起学习更多的知识

在Windows上使用Docker运行.NetCore的更多相关文章

  1. 在Linux(Centos7)上使用Docker运行.NetCore

    在上一篇中我们写了如何在windows中使用docker运行.netcore,既然我们了解了windows下的运行发布,我们也可以试试linux下使用docker运行.netcore项目,那么今天我们 ...

  2. 在Windows上使用Docker运行.NET COE应用

    在Windows上使用Docker运行.NET COE应用 执行步骤: 1:安装Docker For Windows(注意:docker for windows-64位Windows 10.必须开启 ...

  3. 在CentOS 7 上使用Docker 运行.NetCore项目

    安装Docker CentOS 7 安装 Docker 编写Dockerfile 右键项目->添加->Docker 支持 选择Linux 修改为如下: FROM mcr.microsoft ...

  4. 在 Azure 上使用 Docker运行 Mono

    Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方 ...

  5. Windows上搭建Flume运行环境

    1.如果没有安装过Java环境,则需首先安装JDK. 可参考<Windows上搭建Kafka运行环境>中的搭建环境安装JDK部分 2.官方下载Flume(当前为apache-flume-1 ...

  6. (转)Windows上搭建Kafka运行环境

    转自:<Windows上搭建Kafka运行环境> 完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS   在环境搭建过 ...

  7. [转]Windows上搭建Kafka运行环境

    [转]http://www.cnblogs.com/alvingofast/p/kafka_deployment_on_windows.html Windows上搭建Kafka运行环境   完整解决方 ...

  8. Windows 上安装docker

    Windows 上安装docker //(第一种)下载boot2docker https://github.com/boot2docker/windows-installer/releases //( ...

  9. 在Windows上使用Docker 创建MongoDB 副本集的极简方法(翻译)

    这篇博客介绍下在Windows上使用Docker 创建MongoDB 三节点副本集的最简单的方法.以下命令需要Docker for Windows并使用Linux 容器. 1: 为每个节点创建数据卷 ...

随机推荐

  1. python之six用法

    six.PY2 返回一个表示当前运行环境是否为python2的boolean值 six.PY3 返回一个表示当前运行环境是否为python3的boolean值 import six,sys print ...

  2. pytesser3 使用说明

    需要环境 Python3.x以上 需要安装PIL以及tesseract-ocr引擎.点我下载tesseract-ocr引擎 如何使用 1. pip install pytesser3 如图:   [可 ...

  3. mutex.go

    package} } ) ].GetResponseRange().Kvs[].CreateRevision )     return nil } func (m *Mutex) IsOwner() ...

  4. HTTP 常见状态码解析

    1XX 表示消息 2XX 表示成功 3XX 表示重定向 4XX 表示请求错误 5XX 表示服务器端错误 消息:请求已被接受,需要继续处理.由于 HTTP/1.0 协议中没有定义任何 1xx 状态码. ...

  5. 【BZOJ 2844】: albus就是要第一个出场

    题目大意: 给一个长度为n的序列,将其子集的异或值排序得到B数组,给定一个数字Q,保证Q在B中出现过,询问Q在B中第一次出现的下标. 题解: 感觉和hdu3949第K小异或值有一像,然而发现要求出现次 ...

  6. bzoj4476 [Jsoi2015]送礼物

    化简式子 $M>=m+ans*(r-l+k)$ 发现$M,m$确定时,总区间长度越小越好,于是假定右端点为最小值$M+ans*l>=m+ans*r+ans*k$, 右面都确定了,但最大值仍 ...

  7. BZOJ_2724_[Violet 6]蒲公英_分块

    BZOJ_2724_[Violet 6]蒲公英_分块 Description Input 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1) mod ...

  8. 浅谈HTTP协议

    1 HTTP概念 把握三个点: 1 HTTP协议(超文本传输协议) HTTP是一个基于TCP/IP通信协议来传递数据,默认端口80 2 HTTP是无连接(限制每次连接只处理一个请求),无状态的(对于事 ...

  9. 本地和svn都删除文件导致版本不同的问题

    想要删除一个项目中的文件,同是要删除svn上的文件. 自己操作 1.直接右键删除了本地项目中的一个目录的模块 2.右键删除了库中svn中的这个目录 3.同步本地和svn上的代码 4.问题出现了,本地和 ...

  10. 深入理解java虚拟机之垃圾收集器

    Java一个重要的优势就是通过垃圾管理器GC (Garbage Collection)自动管理和回收内存,程序员无需通过调用方法来释放内存.也因此很好多的程序员可能会认为Java程序不会出现内存泄漏的 ...