记录第一次制作ASP.NET Core 的 Docker 映像

 一、首先安装docker(windows) Get Started with Docker | Docker ,根据自己电脑下载

windows系统需要开启Hyper-V ,可以通过下图开启

win10家庭版没有这个,可以新建一个cmd文件进行开启,将下面的代码保存为cmd文件直接运行即可,成功开启后需要重启电脑。

pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt

for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

del hyper-v.txt

Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

重启电脑后,使用docker info 查看一下,如果 提示:

error during connect: Get http://2F2F.2Fpipe2Fdocker_engine/v1.36/containers/json: open//.

这是因为咱用的是windows10家庭版,需要docker切换到linux模式(windows模式需要win10 pro  or enterprise build >= 14372)。

解决方案:进入docker的安装目录,使用cmd运行以下命令

DockerCli.exe -SwitchDaemon

二、由于第一次我就直接使用microsoft提供的示例进行操作,文档链接ASP.NET Core 的 Docker 映像 | Microsoft Docs

1.下载microsoft 的示例代码 git clone https://github.com/dotnet/dotnet-docker

2.按文档要求测试运行一下,保证程序可运行。

3.这次我们直接使用手动生成和部署方式,更好理解一点,作为新手这样比较友好吧

首先,根据自己clone的我呢见位置,切换到dotnet-docker\samples\aspnetapp\aspnetapp目录

然后使用  dotnet publish -c Release -o published 发布一下,切换到published目录,在这个目录下新建一个Dockerfile文件,输入如下命令,docker的命令可以以后学习一下

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS runtime
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "aspnetapp.dll"]

完成后的文件夹是这样的

然后在这个目录打开cmd命令行,生成镜像文件,使用  docker build -t aspnetcorefirst . (注意命令结尾的.)aspnetcorefirst是镜像名称,可以自定义。

在使用 docker images 查看镜像 是否存在

镜像制作完成,来运行一下,使用 docker run -d -p 8000:80 aspnetcorefirst aspnetcorecontainer 命令运行影响,aspnetcorecontainer 是容器名称,可以自定义。 -p 8000:80 表示将当前服务的8000端口映射到容器的80端口。

此时,访问http://localhost:8000,经典的.net core 页面出来了。

由于第一次操作,环境有限,试了不少次才才成功,所以任何项目的落地都需要付出精力啊。

通过这次落地玩转docker我觉的需要了解如下只是

1docker命令

2.dotnet命令

3.docker容器原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值