what
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制的,相互之间不会有任何接口
why
Docker用来部署环境,发布项目。在没用Docker之前,我们要发布项目,必须确保服务器上已经安装好了相关环境和中间件,常见的情况时,部署一个项目需要5分钟,安装环境和中间件需要1-2天。
Docker部署项目会极快的自动的帮我们部署好相关环境,并且每一个项目都是一个集装箱。他们之间相互隔离,在保证每一个项目执行效率时,简化了传统部署中复杂的依赖关系。
特点
-
应用更快速的交付和部署
-
更便捷的升级和扩缩容
-
更简单的系统运维
-
更高效的计算资源利用
基本组成
1. 镜像(image)—戳我→什么是镜像
- docker镜像就好比一个目标,可以通过这个目标来创建容器服务。通过镜像可以创建多个容器
2. 容器(container)
- 容器由镜像创建而来,应用最终以容器的形式运行。可以把容器理解为一个简易的Linux系统
3. 仓库(repository)
- 仓库就是存放镜像的地方,仓库分为公有和私有。最著名的仓库是Docker Hub
工作原理
Docker是一个CS结构的系统,Docker的守护进程运行在主机上,通过Socket从酷虎的访问
当DockerServer接收到Docker-Client的指令时,就会执行这个命令