这里写目录标题
什么是Docker
Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分弃,从而可以快速交付软件。是一个开源的应用容器引擎,让开发者可以打包大门的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或者Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
沙箱(Sandbox):在计算机安全领域,沙箱是一种程序的隔离运行机制Docker在2013年一炮而红,直到现在,已经成为容器技术的代名词。Docker 从一开始就以提供标准化的运行时环境为目标,真正做到"build once, run anywhere",可以将同一个构建版本用于开发、测试、预发布、生产等任何环境,并且做到了与底层操作系统的解耦。在此基础上还进一步发展出了CaaS(容器即服务)技术。
2013年,发布了docker
把容器化技术做成了标准化平台使用
docker有什么意义
docker引擎统一了基础设施环境-docker容器环境(引擎)
docker引擎统一了程序打包(装箱)方式-docker 镜像
docker引擎统一了程序部署(运行)方式-docker容器
镜像————》封装的某一个时刻的服务/应用状态
容器————》应用跑起来的状态(正常提供服务的状态-运行时)
应用场景
1、打包应用程序简单部署
2、可脱离底层硬件任意迁移(实现了应用的隔离,将应用拆分并进行解耦),例如:服务器从腾讯云迁移到阿里云
3、持续集成和持续交付(CI/CD):开发到测试发布
4、部署微服务
5、提供PAAS产品(平台即服务){OpenStack的云主机类似于阿里云的ECs,属于IAAS、Docker (K8S)属于PAAS}
Docker引擎(Docker Engine)
Docker Engine是具有以下主要组件的客户端-服务器(C/S架构)应用程序:
-
server端:服务器是一种长期运行的程序,称为守护程序进程( dockerd命令)。
-
client端:REST API,它指定程序可以用来与守护程序进行通信并指示其操作的接口。
命令行