这是DevOps系列的第四节,从这节以后,我们主要剖析Docker的技术体系,以及由此带来的应用架构变化。Docker引擎DockerEngine是一个客户端-服务器应用程序,它使用RESTAPI在服务器和客户端之间进行通信,就像后端与前端进行通信一样,我们从客户端向服务器发送API请求,然后服务器获取响应。由于它是基于服务器-客户端和RESTAPI的,这意味着我们可以在服务器上运行docker守护程序,在本地计算机上运行客户端。这样就可以远程控制服务器了!更详细的图解Docker守护程序Docker守护程序(dockerd)侦听DockerAPI请求并管理Docker对象,例如镜像(image),容器(container),网络(network)和卷(volume)。守护程序还可以与其他守护程序通信以管理Docker服务。Docker客户端Docker客户端(docker)是许多Docker用户与Docker交互的主要方式。当你键入命令时,客户端将其发送到API,然后API与服务器交互Docker仓库Docker仓库存储Docker镜像。DockerHub是任何人都可以使用的官方公共仓库,并且Docker配置为默认在DockerHub上查找映像。我们也可以运行自己的私有仓库。比如,以下命令,从拉取镜像到启动mysql容器服务,两条命令完成。dockerpullmysqldockerrunmysql:latest镜像镜像是一个只读模板,其中包含创建Docker容器的说明。通常,一个镜像基于另一个镜像,并进行一些其它自定义。例如,我们可以构建基于ubuntu镜像的镜像,用于安装ApacheWeb服务器和应用程序,以及运行应用程序所需的配置详细信息。我们也可以创建自己的镜像,也可以使用其他人创建并在公共仓库中发布的镜像。如果要构建自己的映像,我们可以使用简单的语法创建一个Dockerfile,以定义创建镜像并运行它所需的步骤。Dockerfile中的每条指令都会在映像中创建一个层。当更改Dockerfile并重建映像时,仅重建那些已更改的层。与其他虚拟化技术相比,这是使映像如此轻巧,小型和快速的部分原因。历史系列文章:DevOps系列-什么是DockerDevOps系列-Dockervs虚拟机DevOps系列-组合使用VM和Docker
转载请注明:http://www.aierlanlan.com/cyrz/8587.html