Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用Linux的LXC、AUFS、Go语言、cgroup实现了资源的独立,可以很轻松的实现文件、资源、网络等隔离,其最终的目标是实现类似PaaS平台的应用隔离。
Docker值得关注的特性:
-
文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。
-
资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。
-
网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。
-
日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。
-
变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。
-
交互式shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次***互shell。
Docker通常用于如下场景:
-
web应用的自动化打包和发布;
-
自动化测试和持续集成、发布;
-
在服务型环境中部署和调整数据库或其他的后台应用;
-
从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
本文介绍如何在RedHat/CentOS环境下安装Docker。官方文档要求Linux kernel至少3.8以上,且docker只能运行在64位的系统中。由于RHEL6和CentOS6的内核版本为2.6,因此必须要先升级内核。
下面以CentOS6.5(64位)为例,介绍下docker安装步骤和使用方法:
一、升级内核(带aufs模块,记住一定要升级,要不然会出现很多莫名奇怪的问题,建议用yum安装)
1、yum安装带aufs模块的3.10内核
1
2
3
|
cd
/etc/yum
.repos.d
wget http:
//www
.hop5.
in
/yum/el6/hop5
.repo
yum
install
kernel-ml-aufs kernel-ml-aufs-devel
|
2、修改grub的主配置文件/etc/grub.conf,设置default=0,表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置)。
3、重启系统,这时候你的内核就成功升级了。
1
2
|
[root@localhost ~]
# uname -r
3.10.5-3.el6.x86_64
|
查看内核是否支持aufs:
1
2
|
[root@localhost ~]
# grep aufs /proc/filesystems
|
系统安装Docker
1
2
|
rpm -ivh http:
//mirrors
.sohu.com
/fedora-epel/epel-release-latest-6
.noarch.rpm
|
1
| /etc/init .d /docker start |
检查docker是否启动
1
|
docker info [root@localhost ~]# docker info Containers: 0 Images: 0 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 0 Dirperm1 Supported: false Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 3.10.5-3.el6.x86_64 Operating System: <unknown> CPUs: 4 Total Memory: 3.73 GiB Name: localhost ID: ZHBV:ZIJV:CV3B:5AX4:YNIG:KBWZ:N6ZX:RY37:HLXB:AE4C:JFWS:W47B WARNING: No swap limit support |
到此docker就安装成功了