将整个docker 多个容器一起打包_将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署...

29df4e975323be0278fdec715f368f87.png
在开始之前我们先简单认识一下Docker?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker有什么优势:
(1)简化配置,构建一次后打包后就可以用作测试环境,也可以用作生产环境或与预生产环境,可以省去很多测试环节。比如一台服务器可以进行测试多个版本的测试,不用等待。
(2)可以解决开发人员部署环境的困难,好比如一个刚来的新同事安装环境可能需要半天时间,但要是直接运行一个已经配好的容器的话就方便多了。
(3)应用隔离,服务器整合,一个服务器可以用docker部署多套业务,并且隔离性很高
(4)对于开发来说部署好之后到处运行便于开发调试。
(5)可以减少资源的利用,和虚拟机比较省去了很多不必要的资源
(6)对于运维来说,可以快速的进行扩容,减少原利用率
(7)每个小的服务都可以进行集群,docker对资源的利用比较小,可以在一台服务器启动多台。
(8)可以多平台部署

接下来我们通过Docker来构建一个项目镜像

第一步 环境准备,安装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 .

58145723925891381826ef2a7cb8b592.png

第四步 我们可以通过命令查看一下镜像的信息:

sudo docker images

第五步 启动镜像:

sudo docker run --name nbi -d -p 5000:80 nbiplatform:v2

d5dfd2191470dbc422a23720e1baceca.png

第六步 通过命令查看容器是否正常启动:

sudo docker ps -a

19c2e627857b2b1e1df314f307d7de6c.png

第七步 在这里我们已经可以看到容器正常启动了,我们访问一下项目试试:

e78ab2dea3f14c2ba1dd8e3f74b1704c.png

dc0d39ba8ba8aeb38774995fb3376462.png

项目运行一切正常,docker部署确实方便,大大简化了部署的复杂度,同时又能与其他环境隔离互不影响,后面将继续分享如何将本地应用发布到远程镜像中心去。

如果想了解更多,请查看:(http://nbi.easydatavis.com:8033)

或者加作者微信:

2dbb14bd4382e4dfa90f4678cc334973.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值