一、背景
最近一直在看docker的教程,基础知识看的差不多了。理论总要运用于实践,所以下面我们就来把最简单的一个netcore网站托管到docker容器中。
环境:1、docker for windows
2、 .net core 2.2
二、创建一个简单的netcore网站
2.1 使用dotnet new web
命令创建一个新的项目
2.2 使用dotnet run
命令编译创建的项目
2.3 访问验证生成的netcore项目
至此,我们的netcore项目,已经在windows平台上运行起来了。
三、编译为linux运行文件,并编写Dockerfile
3.1 使用dotnet publish --runtime ubuntu.16.04-x64
命令编译为可在linux系统运行的文件
3.2 进入到编译好的ubuntu.16.04-x64publish
文件夹下,编写dockerfile
# 声明使用的基础镜像
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
# 声明工作目录
WORKDIR /app
EXPOSE 80
COPY ./ ./
# 指定应用入口点 netcoretest.dll代表的是主程序文件
ENTRYPOINT ["dotnet", "netcoretest.dll"]
四、运行生成的镜像、并验证访问
4.1 使用docker build -t netcoretest .
制作镜像
我们可以使用docker image ls
查看刚制作成功的镜像
4.2 使用生成的镜像,运行到docker
运行命令docker run -it -d -p 8072:80 --name netcoretest netcoretest
4.3 查看运行成功的容器
4.4 访问容器中的网站http://localhost:8072
访问成功,我们已经成功地把netcore的网站托管到docker容器中
五、总结
将网站托管到容器中,是一种比较新的技术,代表着新的方向。
我们可以将问题拆解为,先编写netcore程序,验证程序在linux平台上运行成功后,再来将程序托管到docker中。
参考文章:
1.https://www.cnblogs.com/xiaoerlang90/p/10285410.html
2.https://www.cnblogs.com/hulizhong/p/10698584.html