前言:
DevOps 的概念在软件开发行业中逐渐流行起来。越来越多的团队希望实现产品的敏捷开发,DevOps 使一切成为可能。有了 DevOps ,团队可以定期发布代码、自动化部署、并将持续集成 / 持续交付作为发布过程的一部分。虽然 DevOps 背后有各种各样的概念,但幸好有一些工具可以让你更容易地理解和实现。本文将介绍最强大的 DevOps 工具Docker。
Docker要求:
lunix内核,要求3.8以上
centos7
Docker是一个进程,一启动就两个进程,一个服务,一个守护进程。占用资源就非常少,启动速度非常快,1s。
一台机器上vm,3到10个实例。docker 100到10000。
Docker特点:
灵活:即使是最复杂的应用也可以集装箱化。
轻量级:容器利用并共享主机内核。
可互换:即时部署更新和升级。
便携式:在本地构建,部署到云,并在任何地方运行。
可扩展:增加并自动分发容器副本。
可堆叠:垂直和即时堆叠服务。
Docker的三大组件:
镜像(Image)
通过运行镜像启动容器。镜像是一个可执行包,包含运行应用程序所需的所有内容 - 代码,运行时,库,环境变量和配置文件。Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库
下载该镜像
容器(container)
容器是图像的运行时实例,
仓库(Repository)
存放镜像的地方,一个容易混淆的概念是注册服务器(Registry ) 。实际上注册服务器是管理仓库的具体服务
器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以
被认为是一个具体的项目或目录。例如对于仓库地址 dl.dockerpool.com/ubuntu 来说, dl.dockerpool.com 是注册服务器地址, ubuntu 是仓库名。
映像的实例称为容器。映像是虚拟计算机的设置。如果运行此映像,将拥有它的一个实例,我们将其称为容器。可以有多个运行相同映像的容器。
从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。
Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。
Docker 官方建议要 CentOS7.0 及以上系统版本,本文介绍 Docker CE 在CentOS下的安装使用。
Docker运行对内核要求比较高,因此一般建议直接在Ubuntu(乌班图)这样的平台运行。但作为一个容器标准,
Docker也是支持其他如CentOS, Mac OS X, Windows等平台。目前Docker支持以下版本CentOS:
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本:
$ uname -r
安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的:
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源:
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
可以查看所有仓库中所有docker版本,并选择特定版本安装:
$ yum list docker-ce --showduplicates | sort -r
安装docker:
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
启动并加入开机启动:
$ sudo systemctl start docker
$ sudo systemctl enable docker
验证安装是否成功(有client和service两部分表示docker安装启动都成功了):
$ docker version
校验:
$ sudo docker run hello-world
查看Docker版本:
docker --help #帮助
docker –v #简单查看版本
docker version #查看版本
基于镜像创建容器(run),也可以基于容器制作镜像(commit)
从远端仓库拉取镜像(pull),将本地镜像推送到远端(push)