以下版本的CentOS 支持 Docker :
l CentOS 7 (64-bit)
l CentOS 6.5 (64-bit) or later
查看系统版本指令:
cat /etc/issue
Docker的使用可以参考官方文档说明:https://docs.docker.com/v1.9/
这里提供两种安装方式,yum安装和离线安装包安装。
安装epel
CentOS 内置的yum命令安装非常的简单实用,能自动帮助我们解决依赖,但centos内置的yum源可用的软件偏少或者版本过低,通常我们需要使用一些第三方的yum源,这里可以选择安装两个比较常用和权威的yum源,epel或remi。这里安装epel
yum install -y epel-release
安装docker
Docker 软件包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:
$ sudo yum install docker
在 CentOS-6 中,一个系统自带的可执行的应用程序与 docker 包名字发生冲突,所以 我们重新命名 docker 的RPM包名字为 docker-io
yum install docker-io
docker配置文件所在路径: /etc/sysconfig/docker
启动docker
# 加入开机启动
$ sudochkconfig docker on
#开始运行 Docker daemon
$ sudoservice docker start
#查看状态是否启动成功
$ sudoservice docker status
上传docker安装包和所需依赖到服务器目录下。
分别执行以下指令进行依赖包安装,最后安装docker1.7.1
rpm -ivh libcgroup-0.40.rc1-23.el6.x86_64.rpm
rpm -ivh lxc-libs-1.0.9-1.el6.x86_64.rpm
rpm -ivh lua-alt-getopt-0.7.0-1.el6.noarch.rpm
rpm -ivh lua-filesystem-1.4.2-1.el6.x86_64.rpm
rpm -ivh lua-lxc-1.0.9-1.el6.x86_64.rpm
rpm -ivh lxc-1.0.9-1.el6.x86_64.rpm
安装device-mapper-libs,不安装后面启动docker会报错(忽略依赖安装)
rpm -ivh device-mapper-libs-1.02.117-12.el6.x86_64.rpm --force --nodeps
启动docker
# 加入开机启动
$ sudo chkconfig docker on
#开始运行 Docker daemon
$ sudo service docker start
#查看状态是否启动成功
1. 启动后查看状态发现未启动成功,显示docker dead
查看docker的版本号,包括客户端、服务端、依赖的Go等显示无法连接docker demo
解决:debug方式启动一下docker发现报错如下
应该是libmapper有关,需要升级下这个库:
yum-config-manager --enable public_ol6_latest
yum install device-mapper-event-libs
重启docker demo
$ sudo service docker restart
注意:CentOS 中firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与Docker 产生冲突。当 firewalld 启动或者重启的时候,将会从iptables 中移除 DOCKER 的规则,从而影响了Docker 的正常工作。
当你使用的是 Systemd 的时候, firewalld 会在Docker 之前启动,但是如果你在 Docker启动之后再启动 或者重启 firewalld ,你就需要重启Docker 进程了。
docker1.7.1离线安装包和所有依赖下载地址:http://download.csdn.net/download/sammory/10172062