今天咱们来讲下如何在windows下使用docker运行.net core,既然是docker,那么咱们首先得在windows上安装docker。web
在Windows安装 docker 有两种选择 :
一、docker for windows
二、docker toolbox
区别:
docker for windows-64位Windows 十、必须开启 Hyper-V
docker toolbox -有virtualbox便可 docker
今天只给你们介绍 docker for windows安装windows
地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe浏览器
咱们下载按照步骤一步步安装就ok了,安装以后打开可能会出现一个错误,若是没有出现那确定万事大吉咯!学习
Hyper-V 没开不能启动:
以管理员身份打开 PowerShell 控制台。
运行如下命令:ui
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
如今咱们再来启动便可,在右下角也会有一个图标,悬浮上去显示 docker desk is running,表示已经安装成功(这个会提示咱们登陆,不过登陆不登陆问题都不是太大,登陆以后能够链接到(Docker Hub)spa
接下来正式进入咱们今天的主题,如何而使用 docker for windows 来运行 .netcore(Start).net
首先咱们建立一个.net core web项目3d
而后咱们去项目根目录去看,会发现有一个Dockerfile的文件,一样咱们须要在项目当中修改Dockerfile文件的属性,修改成较新则复制。 code
咱们能够运行一下.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 7778:80 -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) 删除全部镜像
欢迎你们扫描下方二维码,和我一块儿学习更多的知识😊