目录
一.Docker简介:
Docker是一个开源的虚拟化容器引擎,可以让开发者打包他们的应及依赖到一个可移植的容器中,然后发布到Linux环境中实现虚拟化的管理。这些Linux环境包括Centos、Redhat、Ubuntu。
在Windows上面其实也可以部署,但是不推荐
为什么要使用容器技术:
在项目迭代开发和部署过程中,运维人员不可避免会遇到这些情况:同样的代码需要被 部署到不同的运行环境中;由于运行环境不同导致项目部署失败,无法正常运行。导致上述问题的原因可能不同。下面列举几种比较典型的原因。
1.运行环境发生了变化。例如,在开发阶段,代码是运行在程序员的本地环境或测试环境中的;而在生产环境中,代码则被切换到集群环境或云平台上了;2.代码的依赖发生了变化。例如,在开发阶段使用的是 JDK 1.7,而在生产环境中使用的是JDK 1.8;3.操作系统发生了变化。例如:在开发阶段使用的是Redhat Linux,而在生产环境中使用的是CentOS。 随着系统架构不断变复杂,微服务架构得到了广泛的应用,这就要求每个功 能模块需要单独进行部署。图1-1展示了一个典型的微服务架构这些问题都会对参与项目的人员造成以下影响:1.对于开发人员而言,除需要关注业务代码本身的实现外,还需要额外花费精力去处理这种底层执行环境的问题。2.对于运维人员而言,需要考虑如何将开发人员新开发的业务代码不断集成与发布
Docker容器虚拟化的价值:
一.从系统的架构层面上看:Docker 可以方便地支持并实现微服务架构,从而更方便灵活地实现架构的变化和系统的扩展。同时,Docker虚拟化容器有助于DevOps 的落地,可以大大提升开发效率,加速迭代。
二.从底层基础层面上看:利用Docker 虚拟化容器技术可以方便地实现系统的移 植,,帮助实现企业应用上云,让应用在自有数据中心和云端之间实现动态迁移。 随着云计算技术的不断发展,在产生Docker 虚拟化容器技术后,一批相关的虚拟化容器管理技术也随之诞生,例如Kubernetes ( K8s)等。这样的工具极大地推动了技术的分工,也极大地促进了技术和业务的创新。
一个完整的Docker由以下几个部分组成:
1.Docker客户端。2.Docker守护进程(Daemon)。3.Docker 镜像(lmage)。4.Docker容器(Container)。5.镜像仓库(Repository)。
Docker的三个核心概念:
一.镜像(Image)
Docker 的镜像(Image)是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向Docker容器引擎的只读模板。比如,一个镜像可以是一个完整的CentOS 操作系统环境,称为一个 CenOS镜像:可以是一个安装了MySQL的应用程序,称为一个MySQL镜像,等等。
二.容器(Container)
Docker的容器(Container)是从镜像创建的运行实例,它可以被启动,停止和删除。所创建的每一个容器都是相互隔离,互不可见,可以保证安全性的平台,可以把容器看作一个简易版的Linux环境,Docker利用容器来运行和隔离应用。
三.镜像仓库(Repository)
Docker仓库(Repository)是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private),这样一来当下次要在另外一台机器上使用这个镜像时,只需要从仓库上拉取下来就可以了。
仓库注册服务器(Registry)是存放仓库的地方,其中包含了多个仓库,每个仓库集中存放某一类镜像,并且使用不同的标签(Tag)来区分它们。目前最大的公共仓库是Docker Hub.存放了数量庞大的镜像供用户下载使用。
二.Docker的体系架构与基本概念
Docker是一个客户端服务器(Client-Server)架构。Docker客户端和Docker守护进程交流。而Docker的守护进程是运作Docker的核心,起着非常重要的作用(如构建、运行和分发Docker容器等)。
三:安装Docker
Docker实现虚拟化的本质是:在已经运行的Linux中创建了一个逻辑隔离的运行环境。因此,其执行效率几乎等同于宿主机的Linux主机
Docker必须部署在Linux系统上面,如果想在其他系统(如Windows)上部署Docker,则需要先安装一个虚拟Linux环境。
安装Docker第一种方式:Yum安装
YUM的全称是Yellow dogUpdater Modified。利用YUM方式可以很方便地添加、删除和更新Linux系统的程序包,并且能够自动解决包的依赖性问题。使用 YUM也能够方便地 管理大量的系统更新问题。一般使用YUM方式需要连接外部的网络
使用Yum安装的前提是你的虚拟机可以访问外部的网络,输入Ping命令可以查看是否能访问外部的网络
[root@node2 ~]# ping www.163.com
确认可以访问外部网络之后使用Yum命令安装
[root@node2 ~]# yum -y install docker
Yum安装完成界面:
安装完成后执行以下命令启动Docker
[root@node1 ~]# systemctl start docker (启动Docker)
[root@node1 ~]# systemctl enable docker (设置Docker开机自启动)
启动后执行以下命令查看Docker的版本:
[root@node2 ~]# docker version
安装Docker第二种方式:使用二进制包式安装
使用Yum方式安装Docker非常简单,但需要连接外部网络,而在实际的企业生产环境中,通常不能直接访问外部网络,这时就可以使用Docker官方提供的二进制包进行Docker的离线安装
Docker官方离线下载地址:Index of linux/static/stable/x86_64/ (docker.com)
安装步骤:
一.安装Wget下载工具:
[root@node2 ~]# yum -y install wget
二.使用wget下载Docker安装包(这里使用的是20.10.9版本)
[root@node2 ~]# wget https://download.docker.com/linux/static/stable/x
86_64/docker‐20.10.9.tgz
三.使用tar命令解压缩Docker二进制安装包
[root@node2 ~]# tar ‐zxvf docker‐20.10.9.tgz
四.查看Docker二进制包提供的执行命令
[root@node2 ~]# ls docker
五.在"/etc/systemd/system/docker.service"文件中输入一下内容
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network‐online.target firewalld.service
Wants=network‐online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill ‐s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on‐failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi‐user.target
六.启动Docker
[root@node2 ~]# systemctl start docker.service(启动Docker)
[root@node2 ~]# systemctl enable docker.service(设置Docker开机自启动)
七.验证Docker环境
[root@node2 ~]# docker info