ASP.NET Core 2.1 使用Docker运行的方法步骤
2018-07-04 16:02
1331 查看
1.新建一个 ASP.NET Core 2.1 项目
然后运行一下项目,确保我们刚刚建立的项目可以正常运行。
2.编写 Dockerfile
新建一个文本文件,命名为
Dockerfile
FROM microsoft/dotnet:2.1-aspnetcore-runtime WORKDIR /app COPY . . EXPOSE 80 ENTRYPOINT ["dotnet", "AspNetCore.Docker.dll"]
这里我们需要用到官方的镜像:
microsoft/dotnet:2.1-aspnetcore-runtime
如果要尝试更小的镜像,可以试试
microsoft/dotnet:2.1-aspnetcore-runtime-alpine,这镜像使用了
alpine一款精简版极小的linux,但是随之而来的就是阉割了一些功能,实际使用的时候需要测试,比如国际化支持,它默认在这个镜像里面没有开启,需要配置环境变量来开启。
需要设置Dockerfile的如下属性,保证其能复制到发布目录:
3.构建Docker镜像
我们将镜像命名为 :
aspnetcoredocker
进入到发布文件目录,执行命令便可打包镜像:
docker build -t aspnetcoredocker .
我们可以编写 发布+构建 的脚本。
Windows:
文件名:build.bat
@echo off echo "Windows Docker build" cd ../AspNetCore.Docker dotnet publish -c Release -o ../publish cd ../publish echo "publish success"docker build -t aspnetcoredocker .
文件名:Linux:
build.sh
#!/bin/bash echo Linux Docker build cd ../AspNetCore.Docker dotnet publish -c Release -o ../publish cd ../publish echo publish successdocker build -t aspnetcoredocker .
文件夹结构如下图:
执行构建:
./build.sh
构建成功后可以通过
docker images命令查询到我们构建的镜像:
若在linux下执行sh脚本时,遇到错误“-bash: ./build.sh: /bin/bash^M: bad interpreter: No such file or directory“,请通过vim/vi编辑sh脚本,按:建,输入
set ff=unix,然后回车、wq保存即可
4.运行镜像
通过命令运行
docker run --name=aspnetcoredocker -p 7777:80 -d aspnetcoredocker
--name:指定容器名称
-p:指定容器端口
-d:指定容器 后台运行
出现一长串字符串,便是表示运行成功:
我们也可以通过
docker ps命令,查询我们正在运行的容器:
我们还可以通过 docker logs <容器名称或者id>来查看启动日志:
5.验证访问
我们可以通过
curl命令来直接访问我们容器启动的asp.net core 网站:
或者直接通过浏览器访问:
至此,我们通过Docker运行asp.net core 2.1应用程序就结束了。
6.资料
本文所用代码:https://github.com/stulzq/BlogDemos/tree/master/AspNetCore.Docker
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- ASP.NET Core2.0 使用VSCode 版本1.13.1工具 开发控制台运行出现中文乱码问题及解决方法
- docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用
- docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用
- 详解ASP.NET Core 网站在Docker中运行
- ASP.NET CORE dotnet run 命令使用debug方式运行
- docker中运行ASP.NET Core Web API
- ASP.NET CORE做的网站运行在docker上(不用dockerfile文件部署)
- 在Docker中运行asp.net core 跨平台应用程序
- ASP.NET Core 网站在Docker中运行
- 在docker中运行ASP.NET Core Web API应用程序
- Docker打包 Asp.Net Core应用,在CentOS上运行
- docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用
- Docker打包 Asp.Net Core应用,在CentOS上运行
- ASP.NET core Web中使用appsettings.json配置文件的方法
- docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用
- Docker4Dev#7 使用 Windows Container运行ASP.NET MVC 2 + SQLExpress 应用
- 使用ElasticSearch,Kibana,ASP.NET Core和Docker可视化数据
- Asp.net Core中使用NLog,并封装成公共的日志方法
- 使用Jexus 5.8.2在Centos下部署运行Asp.net core
- ASP.NET Core 网站在Docker中运行