将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署
2020-05-07 16:14
901 查看
在开始之前我们先简单认识一下Docker?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker有什么优势:
(1)简化配置,构建一次后打包后就可以用作测试环境,也可以用作生产环境或与预生产环境,可以省去很多测试环节。比如一台服务器可以进行测试多个版本的测试,不用等待。
(2)可以解决开发人员部署环境的困难,好比如一个刚来的新同事安装环境可能需要半天时间,但要是直接运行一个已经配好的容器的话就方便多了。
(3)应用隔离,服务器整合,一个服务器可以用docker部署多套业务,并且隔离性很高
(4)对于开发来说部署好之后到处运行便于开发调试。
(5)可以减少资源的利用,和虚拟机比较省去了很多不必要的资源
(6)对于运维来说,可以快速的进行扩容,减少原利用率
(7)每个小的服务都可以进行集群,docker对资源的利用比较小,可以在一台服务器启动多台。
(8)可以多平台部署
接下来我们通过Docker来构建一个项目镜像:
通过命令安装docker: sudo apt-get install -y docker.io 启动Docker服务: systemctl start docker.service 配置开机启动并验证 systemctl enable docker.service 查看docker版本信息 docker version
第二步 编写Dockerfile:在项目根目录添加Dockerfile文件(publish目录下)
FROM microsoft/dotnet:2.1-aspnetcore-runtime RUN apt-get update RUN apt-get install -y --no-install-recommends libgdiplus libc6-dev #容器中系统的工作空间 WORKDIR /app #拷贝当前文件夹下的文件到容器中系统的工作空间(注意:“.”后面有空格) COPY . /app #设置Docker容器对外暴露的端口 EXPOSE 80 #容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序 ENTRYPOINT ["dotnet", "NBI.DashBoardService.Core.dll"]
第三步构建镜像:进入到项目根目录执行编译镜像命令:
sudo docker build -t nbiplatform:v1 .
第四步 我们可以通过命令查看一下镜像的信息:
sudo docker images
第五步 启动镜像:
sudo docker run --name nbi -d -p 5000:80 nbiplatform:v2
第六步 通过命令查看容器是否正常启动:
sudo docker ps -a
第七步 在这里我们已经可以看到容器正常启动了,我们访问一下项目试试:
项目运行一切正常,docker部署确实方便,大大简化了部署的复杂度,同时又能与其他环境隔离互不影响,后面将继续分享如何将本地应用发布到远程镜像中心去。
相关文章推荐
- SpringBoot+Docker实现项目的Maven打包&镜像构建&容器中运行==简单自动化部署
- docker打包scrapyd镜像实现批量部署
- .net core 项目+jenkins+git+docker实现自动化部署
- 实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署
- 如何使用Docker部署一个web项目并打包成镜像文件
- 新手超详细记录:Docker for Windows打包制作tomcat镜像并部署java web项目
- 详解如何使用Docker部署一个web项目并打包成镜像文件
- 基于React实现项目中状态型变量的数据驱动可视化
- Git+Jenkins+Docker实现web项目的自动部署
- 基于Jenkins 实现php项目的自动化测试、自动打包和自动部署
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
- Jenkins 结合 Docker 为 .NET Core 项目实现低配版的 CI&CD
- 基于Jenkins 实现php项目的自动化测试、自动打包和自动部署
- 升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署
- docker 部署 flask(二)编写及生成镜像。
- Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
- docker+daocloud实现前端项目自动构建部署
- Spring Boot项目使用IDEA编辑器和Maven打包并在Docker部署
- springboot打包docker镜像部署
- Openstack容器化部署研究之:Kolla离线制作Openstack服务的Docker容器镜像