1. Docker
概述
Docker
就是容器化技术的一种具体实现。基于 Go
语言开发。官网:https://docs.docker.com/
1.1. 容器官方的解释
一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署
- 容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置
- 容器化软件适用于基于
Linux
和Windows
的应用,在任何环境中都能够始终如一地运行 - 容器赋予了软件独立性,使其免受外在环境差异(例如,开发和预演环境的差异)的影响,从而有助于减少团队间在相同基础设施上运行不同软件时的冲突
1.2. 容器通俗的解释
如果需要通俗地描述容器的话,我觉得容器就是一个存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境
2. 组成 Docker
的三要素
2.1. 镜像 Image
Docker
的镜像 image
就是一个只读的模板。镜像可以用来创建 Docker
容器,一个镜像可以创建多个容器。容器与镜像的关系类似于面向对象编程中的对象与类
Docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件
2.2. 容器 Container
Docker
利用容器Container
可以独立运行的一个或一组应用。容器是用镜像创建的运行实例- 它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台
- 可以把容器看做是一个简易版的
Linux
环境(包括root
用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序 - 容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的
2.3. 仓库 Repository
- 仓库
Repository
是集中存放镜像文件的场所 - 仓库
Repository
和仓库注册服务器Registry
是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库又包含了多个镜像,每个镜像有不同的标签tag
- 仓库分为公开仓库
Public
和私有仓库Private
两种形式 - 最大的公开仓库是
Docker Hub
,存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等
3. CentOS
环境安装 Docker
3.1. 安装说明
Docker
支持以下的 CentOS
版本