在Windows上使用Docker运行.NetCore
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker。</span></p><p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"; font-size: 15px"><strong>在Windows安装 docker 有两种选择</strong> :</span><br><span style="font-family: "Microsoft YaHei"">1、docker for windows</span><br><span style="font-family: "Microsoft YaHei"">2、docker toolbox </span><br><span style="font-family: "Microsoft YaHei"">区别:</span><br><span style="font-family: "Microsoft YaHei"">docker for windows-64位Windows 10、必须开启 Hyper-V</span><br><span style="font-family: "Microsoft YaHei"">docker toolbox -有virtualbox即可 </span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">今天只给大家介绍 docker for windows安装</span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe</span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">我们下载按照步骤一步步安装就ok了,安装之后打开可能会出现一个错误,如果没有出现那肯定万事大吉咯!</span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">Hyper-V 没开不能启动:</span><br><span style="font-family: "Microsoft YaHei""> 以管理员身份打开 PowerShell 控制台。</span><br><span style="font-family: "Microsoft YaHei""> 运行以下命令:</span></p>
<div class="cnblogs_code" style="margin-left: 30px">
<pre><span style="font-family: "Microsoft YaHei"">Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All</span></pre>
</div>
<p><span style="font-family: "Microsoft YaHei""> </span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">现在我们再来启动即可,在右下角也会有一个图标,悬浮上去显示 docker desk is running,表示已经安装成功(这个会提示我们登录,不过登录不登录问题都不是太大,登录之后可以连接到(Docker Hub)</span></p>
<p style="margin-left: 30px"><span style="font-size: 15px"><strong><span style="font-family: "Microsoft YaHei"">接下来正式进入我们</span><span style="font-family: "Microsoft YaHei"">今天的主题,如何而使用 docker for windows 来运行 .netcore(Start)</span></strong></span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">首先我们创建一个.net core web项目</span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""><img src="https://img2018.cnblogs.com/blog/1470432/201904/1470432-20190412210308658-1927998667.png" alt="" width="681" height="427"></span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">然后我们去项目根目录去看,会发现有一个Dockerfile的文件,同样我们需要在项目当中修改Dockerfile文件的属性,修改为较新则复制。 </span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""><img src="https://img2018.cnblogs.com/blog/1470432/201904/1470432-20190412210425959-1478732029.png" alt="" width="349" height="636"></span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""> </span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""> </span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">我们可以运行一下.net core看一下出来的页面效果,到现在我们需要的.net core的事例已经准备好了,我们现在开始在docker 中部署了。</span><br><span style="font-family: "Microsoft YaHei"">我们打开PowerShell ,输入 docker info 出现下面的界面的样子证明docker 一切正常。</span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""><img src="https://img2018.cnblogs.com/blog/1470432/201904/1470432-20190412210749877-1261276882.png" alt="" width="423" height="469"></span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">我们进入到我们刚刚创建的.net core 项目的根目录,然后开始构建docker镜像,要注意命令后面的那个 . ,意思是当前目录</span></p>
<div class="cnblogs_code" style="margin-left: 30px">
<pre><span style="font-family: "Microsoft YaHei"">docker build -t demotest .</span></pre>
</div>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">然后我们发现在执行到第六步的时候报错了,说什么在该路径找不到该文件</span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""><img src="https://img2018.cnblogs.com/blog/1470432/201904/1470432-20190412210934014-1581000618.png" alt="" width="1049" height="266"></span></p>
<p style="margin-left: 30px"><span style="color: rgba(0, 0, 0, 1); background-color: rgba(255, 204, 0, 1); font-size: 15px; font-family: "Microsoft YaHei"">我也卡在这里卡了很久,最后发现路径拼接起来不对。我们仔细检查下Dockerfile文件的第六步发现文件路径是dockertest/dockertest.csproj,再结合我们当前路径是E:\Docker\dockertest</span><br><span style="color: rgba(0, 0, 0, 1); background-color: rgba(255, 204, 0, 1); font-size: 15px; font-family: "Microsoft YaHei"">\dockertest,组合一来看,多了一个dockertest,然后我们修改Dockerfile文件中的路径去掉这个多的dockertest/</span></p>
<p style="margin-left: 30px"><span style="color: rgba(0, 0, 0, 1); background-color: rgba(255, 204, 0, 1); font-size: 15px; font-family: "Microsoft YaHei"">然后我们再来执行docker build -t demotest .然后发现我们在第10步的时候又出错了,说这个程序不包含适合入口点的静态'Main'方法,我们继续检查下Dockerfile文件,发现第9步那个工作路径</span><br><span style="color: rgba(0, 0, 0, 1); background-color: rgba(255, 204, 0, 1); font-size: 15px; font-family: "Microsoft YaHei"">是/src/dockertest,我们拼接一下发现,又多了一个/dockertest,我们接着继续去掉这个,然后继续运行docker build -t demotest .</span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">这一次终于不负众望。它完整的运行完成了所有的步骤并且提示了</span></p>
<div class="cnblogs_code" style="margin-left: 30px">
<pre><span style="color: rgba(0, 0, 0, 1); font-family: "Microsoft YaHei"">Successfully built eaa8cea8fcf4
Successfully tagged demotest:latest</span></pre>
</div>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">我们来看看构建镜像是否真的成功了吧 </span></p>
<div class="cnblogs_code" style="margin-left: 30px">
<pre><span style="font-family: "Microsoft YaHei"">docker images</span></pre>
</div>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""><img src="https://img2018.cnblogs.com/blog/1470432/201904/1470432-20190412211306089-15563238.png" alt=""></span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">我们发现了这一个,是我们刚刚创建的demotest,既然镜像我们已经创建成功了,那我们正式运行起来看看是否可用。</span></p>
<div class="cnblogs_code" style="margin-left: 30px">
<pre><span style="font-family: "Microsoft YaHei"">docker run --name=demotest -p <span style="color: rgba(128, 0, 128, 1)">7778</span>:<span style="color: rgba(128, 0, 128, 1)">80</span> -<span style="color: rgba(0, 0, 0, 1)">d demotest
</span>--<span style="color: rgba(0, 0, 0, 1)">name:指定容器名称
</span>-<span style="color: rgba(0, 0, 0, 1)">p:指定容器端口
</span>-d:指定容器 后台运行</span></pre>
</div>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">然后出现了一串字符串,说明我们启动成功了,然后我们查看一下我们正在运行的容器</span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""><img src="https://img2018.cnblogs.com/blog/1470432/201904/1470432-20190412211417546-1105558387.png" alt=""></span></p>
<div class="cnblogs_code" style="margin-left: 30px">
<pre><span style="font-family: "Microsoft YaHei"">docker ps</span></pre>
</div>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""><img src="https://img2018.cnblogs.com/blog/1470432/201904/1470432-20190412211458761-355354446.png" alt=""></span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei"">然后我们去浏览器输入ip+7778,看到如下页面证明这次docker for windows +.net core 成功运行了。</span></p>
<p style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""><img src="https://img2018.cnblogs.com/blog/1470432/201904/1470432-20190412211527593-1493810502.png" alt="" width="1066" height="255"></span></p>
<p style="margin-left: 30px"><span style="font-size: 15px"><strong><span style="font-family: "Microsoft YaHei"">那么到这里我们的第一的windows+docker运行.netcore算是正式完工了,然后在给大家介绍一些较为常用的docker命令(命令)</span></strong></span></p>
<div class="cnblogs_code" style="margin-left: 30px">
<pre><span style="font-family: "Microsoft YaHei"">docker build -<span style="color: rgba(0, 0, 0, 1)">t demotest . 构建 demotest镜像
docker images 查看当前所有的镜像
docker inspect demotest 查看 运行容器的详情
docker ps 查看当前运行的容器
docker ps </span>-<span style="color: rgba(0, 0, 0, 1)">a 查看当前所有的容器
docker stop demotest 停止运行demotest容器
docker start demotest 开启运行demotest容器
docker rm demotest 删除demotest容器
docker rmi demotest 删除demotest镜像
docker rm $(docker ps </span>-<span style="color: rgba(0, 0, 0, 1)">aq) 删除所有容器
docker rmi $(docker images </span>-q) 删除所有镜像</span></pre>
</div>
<p> </p>
<p> </p>
<p style="margin-left: 30px"> </p>
<p><strong> 欢迎大家扫描下方二维码,和我一起学习更多的知识😊</strong></p>
<p> </p>
<p><strong> <img src="https://img2018.cnblogs.com/blog/1470432/201907/1470432-20190718162718327-1175594568.jpg" alt="" width="278" height="278"></strong></p>
<p style="margin-left: 30px"> </p>
<p style="margin-left: 30px"> </p>
<p style="margin-left: 30px"> </p>
<div style="margin-left: 30px"><span style="font-family: "Microsoft YaHei""><img alt=""></span></div><br><br>
来源:https://www.cnblogs.com/hulizhong/p/10698584.html
頁:
[1]