简述
Docker是基于GoLang编写的,2013年推出。越来越多的厂商都开始用Docker作为基础设施自动化的工具。
Docker是开源的应用容器引擎。
Docker容器将软件以及它运行安装所需的一切文件打包到一起,保证了不管在什么样的环境,程序都能以相同的方式运行,实现一次构建,到处运行。
Docker是一种"容器即服务" ,container as a service (caas),使得开发和运营团队对于应用的构建、发布、维护、运行更加敏捷的控制。
Docker是一个为开发人员和管理人员用于构建、发布、运行的分布式应用程序的开放式平台。该平台由Docker引擎(打包工具)和DockerHub(共享应用程序和自动化工作流的云服务)组成。
Docker的优点
1.高可移植性
2.开发敏捷,自由定义和创建部署开发环境
3.安全性高,可控性高。
Docker的思想
Docker的主要思想是大货轮上的一个个集装箱,应用程序相当于货物,云计算相当于大货轮。集装箱按照一定的规则区分并存放货物,不同的集装箱之间不会相互影响,货轮可以运输所有货物,不需要区分不同的货轮,因为有集装箱已经区分了。
Docker的理念就是集装箱管理。Docker就是一个存放应用程序的容器,继承了程序的所需的各种环境,打包后可以运行在各种系统上。
镜像
Docker中的镜像是指,按照一定的格式封装应用程序(执行一些命令行),封装成一个标准化的东西,即镜像。形象的说,就是把你的应用按照一定的格式抽象的画了个画像。
镜像不能直接运行,因为要避免镜像的损坏。如何避免镜像的损坏?这里就需要一个容器,容器相当于一个盒子,程序运行在容器中,而且Docker的容器有安全机制,容器由镜像新创建出来(通过命令行),而镜像放着不动,运行程序同时保证了镜像的安全。