Docker是基于Go语言实现的云开源项目。
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。
理念:一次封装,到处运行
虚拟机是分钟级
docker是秒级
docker的优点:
更快速的应用交付和部署
更便捷的升级和扩缩容
更简单的系统运维
更高效的计算资源利用
虚拟化分为硬件虚拟化和软件虚拟化
cpu硬件虚拟化:资源占用大,安全级别高所使用的的资源都是宿主机,虚拟出来的
软件虚拟化:资源占用小,安全级别低,所占用的资源直接和宿主机—起使用。
一个镜像可以可以启动多个容器
镜像和容器里面都封装了程序
镜像是静止的,容器是跑起来的
docker应用场景:
web应用的自动化打包和发布;
自动化测试和持续集成,发布;
应用服务,如MySQL,Redis等,通过Docker实现快速部署;
k8s私有云。
docker的组成:
- Docker Client客户端