1 初识Docker
1.1 Docker概述
引入:一般在项目开发中,我们总会经历这么几个流程:开发环境-》测试环境-》生产环境。开发环境下首先先写开发项目的代码,而后交给测试人员在测试环境中进行测试,最后交给运维人员部署在生产环境中;在这个过程中,很容易出现一个问题:加入在开发环境中书写的代码是JDK7,那么在测试环境如果使用的是JDK8,就极有可能出现代码错误,我们称这个情况为代码的水土不服
。为此,在开发环境迁移项目到测试环境时,我们必须把所谓的水土
也就是环境一起随着项目迁移,这就可以解决软件跨环境迁移的问题。而存放环境和项目的东西我们称之为容器
。
说明:Docker是一个开源的应用容器引擎,其诞生于2013年初,基于Go语言实现,由dotCloud公司出品。在docker产品爆火之后,公司改名为Docker Inc。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上;强大的是,一台Linux机器上甚至可以运行多个docker容器,容器使用沙箱机制,相互隔离,这和其logo相对应,并且容器性能开销极低。在Docker从17.03版本之后,其又分为CE社区版和EE企业版。
1.2 Docker安装
说明:Docker可以运行在mac、window、linux上,在本文中,我们主要将docker安装与CentOS系统上。
安装:
#1.yum包
yum update
#2.安装需要的依赖项
yum install -y yum-utils device-mapper-persistent-data lvm2
#3.设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#4.安装docker,-y参数表示出现输入的界面皆按y即可
yum install -y docker-ce
#5.查看docker版本,验证是否安装成功
docker -v
1.3 Docker架构
说明:Docker包含了多个结构,下面我们分别一一讲解:
- 镜像(Image):Docker镜像(Image),就相当于是一个root文件系统。
- 容器(Container):镜像和容器的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是运行时的实体;容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像;仓库可以分为两种类型的仓库,一种为Docker官方的仓库,另一种是私人的仓库。
1.4 配置Docker镜像加速器
说明:Docker的中央仓库位于海外,这就意味着可能会被限速;故我们需要配置镜像加速器来加速仓库的传输,其中比较好用的就是阿里云镜像;配置镜像加速器可以通过阿里云下面的步骤来进行配置。