学会偷懒,并懒出效率

centos7.4下安装docker

一、前言

Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用Linux的LXC、AUFS、Go语言、cgroup
实现了资源的独立,可以很轻松的实现文件、资源、网络等隔离,其最终的目标是实现类似PaaS平台的应用隔离。

Docker值得关注的特性:

1、文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。
2、资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。
3、网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。
4、日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。
5、变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。
6、交互式shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次*互shell。

Docker通常用于如下场景:

1、web应用的自动化打包和发布;
2、自动化测试和持续集成、发布;
3、在服务型环境中部署和调整数据库或其他的后台应用;
4、从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。

Docker支持以下的CentOS版本:

CentOS 7 (64-bit)
CentOS 6.5 (64-bit) 或更高的版本,建议用CentOS 7要求系统为64位、系统内核版本为 3.10 以上。

二、【Centos7跳过】

如果是Centos6.x,需要升级内核(带aufs模块)—-注:本人测试升级内核后无法重启服务器,所以还是Centos7.4装吧
官方文档要求Linux kernel至少3.8以上,且docker只能运行在64位的系统中。由于RHEL6和CentOS6的内核版本为2.6,因此必须要先升级内核。
查看内核版本:
# uname -r
2.6.32-431.11.2.el6.x86_64 //要求Linux kernel至少3.8以上安装docker,故要升级内核

1、yum安装带aufs模块的3.10内核

# cd /etc/yum.repos.d
# wget http://www.hop5.in/yum/el6/hop5.repo
# yum install kernel-ml-aufs kernel-ml-aufs-devel

2、确保系统启动内核为第1个title
vi /etc/grub.conf //设置default=0第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置)

3、重启系统,这时候你的内核就成功升级了。
# uname -r
3.10.5-3.el6.x86_64 //要求Linux kernel至少3.8以上安装docker,这次满足条件了

查看内核是否支持aufs:
# grep aufs /proc/filesystems
nodev aufs

三、centos7.4下安装docker

Docker 要求 CentOS 64位 系统的内核版本高于 3.10 ,验证你的CentOS 版本是否支持 Docker 。

查看你当前的内核版本
# uname -r
3.10.0-693.11.1.el7.x86_64 //低于3.10的话不支持

# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

安装 Docker
yum -y install docker

如果不用yum安装,执行代码安装:
curl -sSL https://get.daocloud.io/docker | sh

启动 Docker 后台服务

# systemctl  start docker.service     (stop/start/restart)
# ps -ef | grep docker  //查看是否运行

显示当前正在运行容器的列表

# docker ps
# docker ps -l 历史运行过的

设置为开机启动
# systemctl enable docker.service

测试运行 hello-world,由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。
# docker run hello-world
运行结果:
Hello from Docker!
This message shows that your installation appears to be working correctly.

Docker的基本运行机制如下所示:

1、Docker Client连接到Docker daemon
2、Docker daemon从Docker Hub上下载名称为hello-world的Image
3、Docker daemon基于这个Image创建了一个新的Container,并运行应用程序,输出“Hello from Docker!”
4、Docker daemon将结果输出到Docker Client,也就是我们的终端上

搜索基于 Fedora 和 Ubuntu 操作系统的容器

# docker search ubuntu
# docker search centos
# docker search fedora

查看Docker是否安装成功了
# docker version

查看已下载的镜像
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest f2a91732366c 2 weeks ago 1.848 kB //helloworld是刚才安装的

四、docker镜像加速

目的是下载镜像速度更快:
# vi /etc/docker/daemon.json
添加一行: “registry-mirrors”: [“http://abcd1234.m.daocloud.io“]

最后重启一下docker服务:
systemctl restart docker.service

更多资源:
https://get.daocloud.io/
https://hub.daocloud.io/