目录
Docker 简介
Docker 是一个开源的应用容器引擎,基于 GO 语言。可以让开发者将应用、依赖包等等打包成一个轻量级、可移植的容器中,发布到任何机器上。容器完全使用沙箱机制,相互之间不会又任何的接口,类似 iPhone 的 APP ,更重要的是容器性能开销极低。
解决了运行环境和配置的容器,方便做持续集成和部署的容器虚拟化技术。
Docker 的组成
- DockerClient:客户端
- DockerDeamon:守护进程
- DockerImage:镜像
- DockerContainer:容器
- DockerHost:主机
- DockerHub/Registry:仓库
Docker 服务器于客户端
Docker 是一个 C/S 架构程序。Docker 客户端只需要向 Docker 服务器或者守护进程发出请求,服务器或者守护进程将完成所有工作并返回结果。Docker 提供了一个命令行工具以及一整套 RESTful API 。你可以在同一台宿主机上运行 Docker 守护进程和客户端,也可以从本地的 Docker 客户端连接到运行在另一台宿主机上的远程 Docker 守护进程。
Docker 容器与镜像
镜像是构建 Docker 的基石。用户基于镜像来运行自己的容器。镜像也是 Docker 生命周期中的“构建”部分。镜像是基于联合文件系统的一种层式结构,由一系列指令一步一步构建出来。例如:添加一个文件、执行一个命令、打开一个窗口。也可以将镜像当作容器的“源代码”。镜像体积很小,非常便携,易于分享、存储和更新。
Docker 可以帮助你构建和部署容器,你只需要把自己的应用程序或者服务打包放进容器即可。容器是基于镜像启动起来的,容器中可以运行一个或多个进程。我们可以认为,镜像是 Docker 生命周期中的构建或者打包阶段,而容器则是启动或者执行阶段。容器基于镜像启动,一旦容器启动完成后,我们就可以登录到容器中安装自己需要的软件或者服务。
所以 Docker 容器就是:一个镜像格式,一些列标准操作,一个执行环境。
DockerHub/Registry
Docker 用 Registry 来保存用户构建的镜像。
Registry 分为公共和私有。Docker 公司运营公共的 Registry 叫做 DockerHub 。用户可以在 DockerHub注册账号 ,分享并保存自己的镜像。
注意:在 DockerHub 下载镜像 巨慢,可以自己构建私有的 Registry 。
Docker 应用场景
- web 应用的自动化打包和发布;
- 自动化测试和持续集成。