工具系列 | Docker基本概念

一、什么是docker?

 Docker 是一个开源的应用容器引擎,让开发者能够打包他们的应用以及依赖包到一个可移植的镜像中,而后发布到任何流行的 Linux或Windows 机器上,也能够实现虚拟化。容器是彻底使用沙箱机制,相互之间不会有任何接口。php

二、服务模式html

 C/S模式。Docker是一个客户端-服务端(c/s)的架构程序。docker是以客户端(client)和守护进程(server)来运行。mysql

三、通讯方式nginx

Unix的socket套接字,如:unix:///var/run/docker/sock(默认链接方式)sql

四、完整的Docker组成docker

(1)Docker Client客户端
(2)Docker Daemon服务端(守护进程)
(3)Docker Image 镜像
(4)Docker Container 容器shell

五、Docker 仓库(hub)网络

仓库(Repository)是集中存放镜像的地方。目前 Docker 官方维护了一个公共仓库 dDocker Hub。大部分需求均可以经过在 Docker Hub 中直接下载镜像来实现。架构

六、镜像(image)composer

可理解为一个面向Docker引擎的只读模板,包含了文件系统。如:一个镜像能够只包含一个完整的操做系统环境,也能够安装了其余的应用程序。经过版本管理和增量的文件系统,Docker提供了一套十分简单的机制来建立和更新现有的镜像。

七、镜像构建

即建立一个镜像,它包含安装运行所需的环境、程序代码等。这个建立过程就是使用 dockerfile 来完成的。默认是从 Docker Hub 公共镜像源下载。

dockerfile 的做用是从无到有的构建镜像。它包含安装运行所需的环境、程序代码等。这个建立过程就是使用 dockerfile 来完成的。Dockerfile  为 docker build 命令准备的,用于构建一个自定义的 image 镜像。

docker-compose 里也能够用来实时 build。docker-compose.yml  为 docker-compose 准备的脚本,能够同时管理多个镜像,多个镜像之间能够使用官方 image 、和自定义的Dockerfile 构建的 image混合编排容器以及各类网络端口定义、储存空间定义等。

若是 image 镜像是从 docker hub registry 拉取下来的,那么 Dockerfile 就不须要;若是镜像是须要 build 的,那就须要提供 Dockerfile .

Dockerfile 就是记录了一个镜像的制做过程。把脚本把安装过程所有记录下来,再次安装的时候,执行脚本就好了。只要有了 Dockerfile 脚本文件(shell脚本), 只需执行 docker build . 就能制做镜像,并且 Dockerfile 就是文本文件,修改也很方便。

八、容器启动

容器最终运行起来是经过拉取构建好的镜像,经过一系列运行指令(如端口映射、外部数据挂载、环境变量等)来启动服务的。

(1)针对单个容器,这能够经过 docker run 来运行。

(2)针对多个容器,这能够经过 docker-compose up 来运行。

九、多个容器的运行

而若是涉及多个容器的运行(如服务编排)就能够经过 docker-compose 来实现,它能够轻松的将多个容器做为 service 来运行(固然也可仅运行其中的某个),而且提供了 scale (服务扩容) 的功能。

docker-compose 是编排容器的。例如,你有一个php镜像,一个mysql镜像,一个nginx镜像。若是没有docker-compose,那么每次启动的时候,你须要敲各个容器的启动参数,环境变量,容器命名,指定不一样容器的连接参数等等一系列的操做,至关繁琐。

而用了docker-composer以后,你就能够把这些命令一次性写在docker-composer.yml文件中,之后每次启动这一整个环境(含3个容器)的时候,你只要敲一个docker-composer up命令就能够了

docker-compose 是解决项目须要哪些镜像、每一个镜像怎么配置、要挂载哪些 volume、映射哪些端口 等等信息,都包含在 docker-compose.yml 里。

要启动服务,只须要 docker-compose up 就行,中止也只须要 docker-compse stop/down

Dockerfile 与 docker-compse.yml 文件的区别

Dockerfile 记录单个镜像的构建过程, docker-compse.yml 记录一个编排容器(多个镜像)的构建过程。

相关文章
相关标签/搜索