Linux环境简单部署ASP.NET 6应用到Docker容器
首先创建一个用于存放源码的文件夹。
|
|
然后在当前文件夹中初始化一个ASP.NET 6的测试项目。(如果不知道关键字,可通过输出dotnet new -l查询所有可以创建的项目的类型)
|
|
接下来执行dotnet run查看效果
|
|
helloworld应用创建完成后,开始为其制作Dockerfile。
该程序的运行环境为ASP.NET Core 6,本教程采用微软官方的alpine3.14镜像,其Dockerfile的内容如下所示。如有其它需求,也可以到Docker Hub 微软官方发布的镜像库中获取。
|
|
本演示项目对原始Dockerfile文件做了些许修改,完整Dockerfile内容如下:
|
|
演示项目在调试过程中,提示某个依赖项不存在,因此本人在原始Dockerfile的基础上增加了一个指向替代依赖项的软链接。
除此之外,我还设定了程序的工作路径,并且追加了将源码复制到docker镜像中的命令,设置了容器的监听端口(80),程序的入口(ENTRYPOINT)。
完整的Dockerfile内容如下所示,仅供参考:
|
|
Dockerfile配置完成后就可以进行镜像打包和发布了。Docker镜像打包发布参考请其他教程。
以上演示项目已上传到Github:https://github.com/XVCoder/webhello ,Docker镜像(xv132/dothello)也已上传到Docker Hub,有需要者自取。