简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
开发时我们会遇到很多环境,而环境的安装是比较繁琐的。
使用docker,可以直接从网上down下一个相应镜像。从网上拉下一个mysql镜像,用一条命令运行它。
优点:
- 上手快
- 职责的逻辑分类
- 高校快速的开发生命周期
- 鼓励使用面向服务的架构(微服务)
容器与虚拟机技术的比较:
- 虚拟机运行在虚拟层(可以虚拟出各种硬件)之上。
- 容器在Docker Engine之上运行的是二进制库,库之上安装各种应用软件。通过Docker Engine,共用主机的操作系统。所以占用空间更小。运行的速度也更加快。
DockerDaemon组件:
- Docker守护进程
- DockerClient客户端
- DockerImage镜像
- DockerContainer容器