Docker概述与部署技术

Docker是一个轻量级的应用容器引擎,基于Go语言,它允许开发者将应用程序及其依赖打包到可移植的容器中,然后发布到任何流行的Linux机器上。与虚拟机相比,Docker容器更轻便,启动更快,因为它们共享宿主机的操作系统,而不是虚拟化硬件。Docker的三大核心是镜像、容器和仓库,镜像是静态定义,容器是运行实例。Docker常用于Web应用自动化打包、持续集成、服务部署等场景,其容器化部署带来了启动快、资源消耗低、部署便捷等优势。
摘要由CSDN通过智能技术生成

一、什么是Docker?

  Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。可以轻松的为任何应用创建一个轻量级的、可移值的、自给自足的容器,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker容器完全使用沙盒机制,相互之间不会存在任何接口,几乎没有性能开销,可以很容易的在机器和数据中心运行,最重要的是,他们不依赖于任何语言、框架或者包装系统。

  Docker的logo十分有特点,一条鲸鱼载着很多集装箱,集装箱中满是要交付的货物。鲸鱼就是操作系统,而集装箱就是Docker,集装箱中的就是要交付的货物,也就是应用程序。各种"货物"之间的尺寸、大小、形状是各不相同的,都要放到鲸鱼身上,那么就要考虑各种货物怎么安放,还得考虑货物之间能否重叠起来。

  于是就有了集装箱的概念,将每件货物都放到集装箱中,各个应用程序相当于不同的集装箱,每个应用程序有着不同的应用环境,比如:python开发的应用需要服务器部署一套python的开发环境,nodejs开发的应用需要服务器部署nodejs的环境,不同环境之间有可能还会彼此冲突,而Docker就可以帮助我们隔离不同的环境。

  这时,有人就会想,这不是虚拟机干的事情吗?是的,虚拟机可以很好的帮我们隔离各个环境,我们可以在windows上运行macOS、ubuntu等虚拟机,也可以在macos上安装Windows的虚拟机。但是虚拟机虚拟化的是硬件(虚拟机和宿主机共享的是硬件,如网卡、声卡等,系统需要自己装),传统虚拟机需要独立安装操作系统,故可以安装并运行不同的操作系统,而对于Docker容器来说,是不需要独立的操作系统,每个容器都是共享同一个操作系统,比虚拟机更加的轻便和快捷。容器内的应用进程直接运行于宿主的内核,也不用进行硬件虚拟。因此Docker容器要比传统虚拟机更为轻便,启动更快。下图比较了两者的区别:

 两者对比总结:

 二、Docker三要素

  Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,将镜像打包后上传到仓库,就可以发布应用到任意平台中。在使用时,只用一条命令就可以将镜像拉取到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值