一:docker介绍
Docker借鉴集装箱装运货物的思想,让开发人员将应用程序及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何运行Docker容器引擎的环境中,以容器方式来运行该应用程序。
- 软件从开发到部署到测试到上线,往往会准备三套环境:开发环境、测试环境、生产环境。反复测试验证环境和应用没有问题。虽然想尽量让环境一致,但依然会存在不可预测得问题。环境、配置、代码统一费时费力,想解决这个问题:软件带着环境安装。
- 将应用程序所需要得环境、由下而上打包,达到应用跨平台无缝衔接。
- 虚拟机占用更多资源,更加笨重,docker更适合迁移。
Docker为应用程序的开发、发布和运行提供一个基于容器的标准化平台。容器运行的是应用程序,Docker平台用来管理容器的整个生命周期。
- 屏蔽底层硬件和操作系统区别。
- 通过命令行工具控制容器创建、开启、关闭等等。
Docker具有为用户提供在各种平台上安全可靠地部署可伸缩服务的能力。
- 容器不同于虚拟机,不需要捆绑一整套操作系统,只需要软件工作所需的资源和设置,可以更高效轻量部署运行。
- docker带着环境、配置一起打包程序的,因此可以快速在不同环境启动新容器。
二:容器和虚拟机对比
容器不是模拟一个完整的操作系统,而是对进程进行隔离。
容器将软件运行所需的所有资源打包到一个隔离的容器中,不需要捆绑一整套操作系统。
因此整个系统变得高效轻量并保证部署在任何环境中的软件都能始终如一地运行。
不同之处:
1、传统虚拟化技术是虚拟出一整套硬件,在上面运行一个完整的操作系统,再在系统上运行所需的应用程序。
2、容器内的应用进程直接运行在宿主机的内核,容器没有自己的内核,没有进行硬件虚拟。因此非常轻便。
3、每个容器间互相隔离,有自己的文件系统,进程不会相互影响,能区分计算资源。
总结:
1:docker就是将应用程序及其环境打包(就是对这个进程进行隔离,容器之间都是独立的),然后做迁移到另外一个操作系统上(无视操作系统),都可以直接的运行
2:另外这个容器非常的轻量,不需要捆绑完整的操作系统,只需要软件工作的资源和配置即可
标签:容器,操作系统,环境,基础,应用程序,概念,docker,运行 From: https://www.cnblogs.com/qm77/p/18038373