Docker的部署安装
通常情况下,容器化部署应用,便于运维管理,也节省了成本
一、什么是docker
docker可以理解成轻量级的虚拟化。与虚拟机不同的,docker这样的叫容器技术,占用的空间更小,启动更快,因为它只需要虚拟一个小规模的环境,不需要虚拟出整个操作系统。这个思想来自于集装箱:一艘大船上有很多集装箱,每个集装箱之间是互不干涉的,这艘大船就是物理机环境,虚拟机的话有点像在大船上又放置了很多小船,然后在小船上再放置货物,实际上我们只是用来装置货物的话就不需要小船,就是说我们只需要一个可以装置货物的容器就可以了,而需要不同的集装箱是因为我们的货物种类不同,对于存储的条件要求也会不同,容器技术就是花费更少的开销提供应用专属的环境。
二、核心的概念
-
镜像(image)
还是用集装箱的例子来说明,镜像就类似于集装箱的图纸,只要用图纸就可以在任何地方生产出一样的集装箱,而不需要把一个集装箱实体从一个地方搬移到另一个地方。 -
容器(container)
用同一个图纸造出来的集装箱是一样的,但是不同的货物又有自己的存储条件,那么在同样的集装箱的基础上,我们可以按照自己的要求部署不一样的环境,最后形成适合自己货物的集装箱环境,这个就是一个容器。 -
仓库(repository)
用于生产集装箱的图纸也不仅仅只有一张,我们可以分一些大类实现准备多个图纸,而这些图纸放在一起供给大家互相使用,存放这些图纸的地方就叫做仓库。显然供企业自己内部特有使用的可以称为私库,包含更多基础图纸的是一个大的公共仓库,这里面的镜像也是需要管理的,因为并不是所有人创建的镜像都是合格的,目前最常使用的registry公开服务是官方的Docker Hub,这也是默认的 Registry,并拥有大量的高质量的官方镜像。
三、CentOS7下安装docker
docker的安装与使用可以参考官方的文档说明,这里主要介绍用yum的方式在CentOS7下安装docker程序。
-
卸载旧版本(如果有)
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
-
安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
-
添加docker源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
安装最新版本
yum install docker-ce docker-ce-cli containerd.io
[NOTE]
查看版本,按需选择安装:yum list docker-ce --showduplicates | sort -r
-
启动服务
systemctl enable docker
systemctl start docker
-
设置国内镜像加速器
创建或修改/etc/docker/daemon.json{ "registry-mirrors": ["https://4qxi99au.mirror.aliyuncs.com"] }
-
创建docker用户
useradd docker -G docker
#加入docker组才能执行docker命令的权限