Docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。简单的理解,docker就是一个软件集装箱化平台,就像船只、火车、卡车运输集装箱而不论其内部的货物一样,软件容器充当软件部署的标准单元,其中可以包含不同的代码和依赖项。按照这种方式容器化软件,开发人员和 IT 专业人员只需进行极少修改或不修改,即可将其部署到不同的环境,如果出现的故障,也可以通过镜像,快速恢复服务。
Docker 使您能够将应用程序与基础设施分开,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 的快速交付、测试和部署代码的方法,您可以显着减少编写代码和在生产中运行代码之间的延迟。Docker(opens new window)是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!
Docker的出现主要就是为了解决:在我的机器上运行时是正常的,但为什么到你的机器上就运行不正常了。
Docker使用客户端-服务器架构。Docker 客户端与 Docker 守护进程通信,后者负责构建、运行和分发Docker容器等繁重的工作。Docker 客户端和守护进程可以运行在同一个系统上,或者您可以将一个 Docker 客户端连接到一个远程 Docker 守护进程。Docker 客户端和守护进程通过 UNIX 套接字或网络接口使用REST API进行通信。
Docker核心概念:
Docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统中)
Client(客户端):是Docker的用户端,连接Docker主机进行操作;可以接受用户命令和配置标识,并与Docker daemon通信。
Images(镜像):打包好的软件,用于创建Docker容器的模板;是一个只读模板,含创建Docker容器的说明,它与操作系统的安装光盘有点像。
Containers(容器):镜像启动后的实例,独立运行的一个或一组应用;镜像的运行实例,镜像与容器的关系类比面向对象中的类和对象。
Registry(仓库):用于保存打包好的软件镜像;是一个集中存储与分发镜像的服务,最常用的Registry是官方的Docker Hub。
Docker的基本使用方式:1、在机器中安装Docker;2、在Docker仓库中寻找这个软件对应的镜像;3、使用Docker运行镜像,生成一个Docker容器;4、容器的启动或停止相当于对软件的启动和停止。