docker(一)在centos6.5/7上安装docker
Docker是啥
首先我们来菜鸟教程上查一波:
logo的标志是鲸鱼身上背着几个集装箱,每一个集装箱都是一个个的容器,每个容器代表一个软件的环境,比如redis,mysql等,
软件即容器
,容器又类似于Java中的对象,是由一个一个的类new出来的,所以又引出一个名词叫镜像
,这些镜像一般都是存在DockerHub上,类似Maven的中央仓库,由于墙的问题,所以国内有很多仓库在做帮助:类似阿里云和网易云加速镜像。
Docker三要素
- Docker镜像(Image)就是一个只读的模板,镜像可以用来创建Docker容器,一个镜像可以创建很多容器。
- 容器
- Docker利用容器(Container)独立运行一个或一组应用
容器使用镜像创建的运行实例
- 容器可以被启动、开始、停止、删除,每个容器之间都是相互隔离的,保证平台的安全。
- 可以把容器看做是一个
简易版的Linux环境
(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。- 容器的定义和镜像几乎一摸一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。
- 仓库
- 仓库(Repository)是集中存放镜像文件的场所。
- 仓库(Repository)和仓库注册服务器(Registry)是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
- 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
- 最大的公开仓库是Docker Hub(https://hub.docker.com/),存放了数量庞大的镜像供用户下载。
- 国内的公开仓库包括阿里云、网易云等。
Docker能干什么
虚拟机vm模拟的有硬件,软件等,占用宿主机的资源,运维部署环境时出现的问题比较棘手
所以说docker应该可以说就是为了解决上面的这些问题。
- 环境:借助镜像可以快速进行项目部署,重要的是官方会提供很多可以支持项目程序部署环境的镜像,轻轻一拉便可运行。
- -资源:每个运行的容器都是基本最小的虚拟机环境,可以简单理解为阉割版的虚拟机。不要问为什么,因为资源有限。
- 伸缩扩容:在服务资源升级和回滚上,借助升级扩容,一键能完成成千上百的服务集群的快速部署。网络:内部也有自己的一套网络管理,省时省力。
- 上面的都是优点,其实缺点也会有的:很多持久化的操作只能借助挂载存储的方式,否则很多之前启动的容器中的数据在意外停止或者是重启的时候便会丢失。
centos上安装Docker
一般分centos的6.x和7.x+两种版本的安装
前提条件
目前,CentOS 仅发行版本中的内核支持 Docker。 1、Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为3.10 以上。 2、Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
在linux的shell中键入uname -r显示出核心版本号
首先移除旧版本:
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安装一些必要的系统工具:
yum install -y
yum-utils
device-mapper-persistent-data lvm2
设置镜像的仓库:
yum-config-manager
--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #推荐使用阿里云
更新yum软件包索引
yum makecache fast
安装 Docker-ce:
yum -y install docker-ce
启动 Docker 后台服务
systemctl start docker
检查docker的运行状态
systemctl status docker
配置阿里云镜像
在网上拉镜像时,由于默认是从国外的主站上下载,存在网速延迟的问题,所以我们可以配置国内的镜像加速器
以阿里云为例:
登录阿里云,在左侧找到产品服务,在里面找到容器镜像服务,随后找到镜像加速器,显示出自己的专用加速器地址后复制下来
在shell终端中键入:
vim /etc/docker/daemon.json
然后在json文件中将复制的信息输入其中:
{
"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
退出保存后,继续键入更新配置:
systemctl daemon-reload
然后重启docker
systemctl restart docker
卸载docker
不仅要删除掉以下一些环境
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
还要进行:
$ sudo yum remove docker-ce
并且删除掉文件信息
$ rm -rf /var/lib/docker