1、前言
在这里我们将学习关于Docker的一些技能知识,那么首先我们应该对Docker有一个基础的认识,以及动手搭建一个基础的环境。
2、关于Docker
Docker是一个开源的虚拟化容器引擎,我们可以打包他们的应用及依赖到一个可移植的容器中,然后发布到Linux环境中以实现虚拟化管理。Docker的虚拟化容器完全使用“沙箱”机制,相互之间是逻辑隔离的。
2.1、几个术语
关于Docker有几个重要的术语:
- Docker客户端。通常指 Docker 提供的命令行工具,是 Docker 最基本的用户接口。用户通过 Docker 客户端提交Docker 指令,Docker 守护进程接收并执行该指令。Docker 也有图形化的客户端工具。
- Docker守护进程(Daemon)。在 Docker 宿主机上运行 Docker,实际上运行的是 Docker 守护进程。用户并不直接和 Docker 守护进程交互,而是通过 Docker 客户端的命令来和它进行交互。
- Docker镜像(Image)。一个Docker 镜像是一个只读的模板。例如,一个 Docker 镜像可以包含一个 CentOS 的操作系统、一个MySQL的数据库和一个Tomcat的应用服务器。Docker镜像被用来创建Docker容器。Docker提供了一个简单的方式来构建一个新的镜像或更新一个已经存在的镜像。用户也可以从镜像仓库下载其他人已经创建好的 Docker 镜像。
- Docker容器(Container)。通过 Docker 镜像可以创建 Docker 容器。Docker 存任何东西,而的容器可以保这些东西是运行一个应用所必需的。可以把 Docker 容器看成是一个虚拟机。Docker 容器可以被运行、开启、停止移动和删除。每一个容器都是一个分离的、安全的应用平台。Docker 容器是 Docker 的运行组件。
- 镜像仓库(Repository)。Docker 的镜像仓库用于保存 Docker 镜像,它可以是公共的存储地方,也可以是私有的存储地方.。
- 公共的镜像仓库由 Docker Hub 提供,它提供了一个用户可以使用的已有镜像的集合。这些集合中的镜像可以是你自己创建的,也可以是别人创建的。
- 私有的镜像仓库需要自己在私有环境中搭建,例如在企业内网中自行搭建。Harbor 是一个典型的私有的镜像仓库。
相互之间的体系结构如图所示:
2.2、Docker容器化的价值
Docker 虚拟化容器有以下两方面的价值。
- 从系统的架构层面上看: Docker 可以方便地支持并实现微服务架构,从而更方便灵活地实现架构的变化和系统的扩展。同时,Docker 虚拟化容器有助于 DevOps 的落地,可以大大提升开发效率,加速迭代。
- 从底层基础层面上看:利用 Docker 虚拟化容器技术可以方便地实现系统的移植,帮助实现企业应用上云,让应用在自有数据中心和云端之间实现动态迁移。
3、搭建基础环境
安装基础环境,这里用到了以下几个东西,由于我用的是windows系统,且经费有限,无法购买linux服务器(土豪请随意)。因此我在本机电脑上安装了虚拟机,来运行我的docker环境。虽然windows也能支持docker环境,但目前来看还不够友好。
所需软件:
- VMware-workstation-full-17.0.0-20800274.exe。虚拟机管理器,用于安装Centos操作系统环境。
- CentOS-7-x86_64-Everything-2009.iso。CentOS7操作系统镜像。此后将作为Docker运行的宿主机。
补上软件下载地址:
https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
http://mirrors.bupt.edu.cn/centos/7.9.2009/isos/x86_64/
3.1、安装VMware
安装详细过程省略。基本网上随便找个教程即可。安装完之后启动虚拟机:
需要关注的几点是:
为了方便我们docker操作,我们关闭防火墙和Selinux。
代码语言:javascript复制systemctl stop firewalld.service
systemctl disable firewalld.service
同时需要外网环境安装镜像,虚拟机选择NAT模式。
3.2、安装Doker
使用yum安装docker。这里注意需要使用root账户,这里的docker没有指定版本,默认安装最新版本。
代码语言:javascript复制yum install -y docker
指定docker版本,如下命令则安装docker 1.13.1版本:
代码语言:javascript复制yum install -y docker-1.13.1
安装完成后:
查看docker版本:
代码语言:javascript复制docker version
3.3、启动
启动docker服务。
代码语言:javascript复制systemctl start docker.service
systemctl enable docker.service
执行完之后,再查看下docker版本:
我们可以看到具体的Client端和Server端版本。
3.4、验证Docker环境
使用命令查看Docker运行状态的详细信息。
代码语言:javascript复制docker info
其中,Registry为仓库镜像地址,这里使用的是官方的Docker Hub地址。
我们也可以通过系统服务命令查看Docker运行状态。
代码语言:javascript复制systemctl status docker
4、小结
到此,整个docker的基础环境就已经构建完毕,大部分都是在下一步下一步的过程。下篇内容,我们将在Docker中部署第一个应用来试试看。