一、背景

最近一直在看docker的教程,基础知识看的差不多了。理论总要运用于实践,所以下面我们就来把最简单的一个netcore网站托管到docker容器中。
环境:1、docker for windows
2、 .net core 2.2

二、创建一个简单的netcore网站

2.1 使用dotnet new web命令创建一个新的项目

653404-20190709100310854-219570690.png

2.2 使用dotnet run命令编译创建的项目

653404-20190709101043329-670439016.png

2.3 访问验证生成的netcore项目

653404-20190709101153440-940790931.png
至此,我们的netcore项目,已经在windows平台上运行起来了。

三、编译为linux运行文件,并编写Dockerfile

3.1 使用dotnet publish --runtime ubuntu.16.04-x64命令编译为可在linux系统运行的文件

653404-20190709103018867-1153953062.png

3.2 进入到编译好的ubuntu.16.04-x64\publish\文件夹下,编写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 .制作镜像

653404-20190709103553540-881131564.png
我们可以使用docker image ls 查看刚制作成功的镜像
653404-20190709103733351-126424121.png

4.2 使用生成的镜像,运行到docker

运行命令docker run -it -d -p 8072:80 --name netcoretest netcoretest

4.3 查看运行成功的容器

653404-20190709104334914-397992129.png

4.4 访问容器中的网站http://localhost:8072

653404-20190709104446375-1025783627.png
访问成功,我们已经成功地把netcore的网站托管到docker容器中

五、总结

将网站托管到容器中,是一种比较新的技术,代表着新的方向。
我们可以将问题拆解为,先编写netcore程序,验证程序在linux平台上运行成功后,再来将程序托管到docker中。
参考文章:
1.https://www.cnblogs.com/xiaoerlang90/p/10285410.html
2.https://www.cnblogs.com/hulizhong/p/10698584.html

转载于:https://www.cnblogs.com/zqllove/p/11152854.html

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐