1. 什么是容器技术?
容器是一个允许我们在资源隔离的过程中,运行应用程序和其依赖项的 、轻量的 、操作系统级别的虚拟化技术, 运行应用程序所需的所有必要组件都打包为单个镜像,这个镜像是可以重复使用的。当镜像运行时,它是运行在独立的环境中,并不会和其他应用共享主机操作系统的内存、CPU或磁盘。这保证了容器内的进程不会影响到容器外的任何进程。
2. 什么是Docker
Docker官网地址 : https://www.docker.com/
Docker文档地址 : https://docs.docker.com/
Docker镜像仓库地址 : https://hub.docker.com/
Docker是一个开源的应用容器引擎,让开发者把他们的应用以及依赖打包到一个可移植的镜像中(打包),然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口(隔离)。Docker底层用的Linux的cgroup和namespace这两项技术来实现应用隔离,一个完整的Docker有以下几个部分组成:
- Docker Client:客户端。
- Docker Daemon:守护进程。
- Docker Image:镜像。
- Docker Container:容器。
3. Docker和虚拟机的对比
虚拟机技术:(通过 软件 模拟的具有完整 硬件 系统功能的、运行在一个完全 隔离 环境中的完整 计算机系统)
虚拟机的缺点:
- 资源占用多
- 冗余步骤多
- 启动慢
容器化技术:(容器化技术不是模拟的一个完整的操作系统)
Docker和虚拟机技术的区别:
- 传统的虚拟机,可以虚拟出一条硬件,运行一个完整的操作系统,在这个操作系统上安装和运行所需的软件
- 容器内的应用可以直接运行在宿主 主机的内核中,容器没有自己的内核,也不用虚拟硬件 (轻便)
- 每个容器是相互隔离的,每个容器内都有属于自己的文件系统,之间互不影响。
Devops:(开发,运维)
1. 应用于更快速的交付和部署
传统:通过大量的帮助文档,安装程序!
Docker:打包镜像发布测试,一键运行!
2. 更便捷的升级和扩缩容
通过使用Docker,部署应用 如同搭积木一样!
3. 更简单的系统运维
使用容器化之后,开发和测试环境是高度一致的
4.更高效的计算资源利用
Docker是内核级别的虚拟化,可以在一个物理机上运行很多的容器,让服务器的性能可以压榨到极致
4. Docker安装
4.1 基本组成
镜像(Image):
docker镜像就好比一个模板,我们可以通过这个模板来创建容器服务,tomcat镜像===>run==>tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。
容器(container):
docker利用容器技术,独立运行一个或者一组应用 通过镜像来创建
启动,停止,删除,基本命令!
目前就可以把这个容器理解为就是一个简易的linux系统