1. Docker是什么
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
2. 使用场景
Docker能用来做的事情有:1、可以快速搭建开发环境;2、可以将运行环境和配置放在代码中并部署;3、可以使用docker-compose来模拟生产环境;4、进行自动测试;5、使用docker镜像进行自我部署等等。
3. 安装Docker
官方地址:Get Docker | Docker Documentation
根据官网教程即可安装docker桌面工具和命令行工具或可自行查找安装方法(网上资料很多,这里不再赘述)。
4. Docker架构
Docker采用了C/S架构,主要有Docker客户端,Docker daemon(Docker守护进程),Docker image(镜像),Docker container(容器)组成。如下图所示(能看懂流程即可,命令以后会学习)
5. 几个重要的基本概念
镜像(image):镜像中包含完整的运行环境,包括系统函数库,依赖等,仅依赖于操作系统内核,可以迁移到任意系统内核相同的机器上。Linux内核打包的镜像可以在任意Linux内核的系统中使用,Windows亦然。跨内核需要进行额外操作。
容器(container):镜像中的应用程序运行之后产生的进程称为容器,Docker用沙箱机制给容器做了隔离(相互无法感知到),使其对外不可见。
与虚拟机的区别(如JVM):
1. 虚拟机采用了虚拟化的技术,即在操作系统上,按照需求有模拟出来一套完整的操作系统,需要占用宿主机大量的资源(GB为单位),而Docker则是一个系统进程,不需要模拟出一套完整的操作系统,占用内存很少(MB为单位)。
2.Docker的启动速度达到秒级,大大快于虚拟机。若使用虚拟机,则需要的虚拟机数量与运行的应用数量相同,但Docker内可以运行上千个容器,且虚拟机维护成本高于Docker。
3.Docker的运行性能接近于源生,比虚拟机的性能更优秀。
下一篇大家一起来学习几个常见的Docker命令~