Docker 安装
本文主要以CentOS为例说明安装过程:
CentOS
在 CentOS-7中Docker的相关包已经是默认提供了的。在 CentOS-6中由EPEL仓库提供。请注意两种版本的安装方式是不同的。如果你需要最新的版本,你应该使用最新的二进制文件在内核3.8及以上进行编译安装。
Docker是工作在CentOS6及以上版本。其他的版本或许因为EL6二进制编译分发获得,但是他们是没有经过测试的。
请注意由于当前Docker的限制,Docker只能运行在64位的架构上。
为了运行Docker你需要CentOS6或者更高版本,它的内核必须是2.6.32-431或者更高版本,因为它有Docker需要的特定补丁。
CentOS 7 下安装Docker
因为Docker一个包含在了默认的 CentOS-Extras仓库,安装使用下面的命令就可以了
$ sudo yum install docker
手动安装最新版本
虽然使用包安装是Docker推荐的安装方式,但是这个包有可能不是最新的版本。如果你需要最新版本的,你可以使用二进制编译安装。
当使用不带包安装二进制的时候,你可能要用systemd整合Docker。因为这样只是简单的安装了2个单元文件(service 和 socket),安装地方 /etc/systemd/system
github 仓库。
FirewallD
CentOS-7 引入了 firewalld。大致可以理解为iptables的封装,这是可能和Docker引起冲突的。
当firewalld启动或者重启的时候会移除DOCKER的iptables链,导致了Docker不能正常的工作。
当使用systemd时,firewalld 必须在Docker启动之前启动,但是如果你启动或者重启firewalld 在Docker启动之后,你需要重启Docker的守护进程。
CentOS-6 安装Docker
请注意这部分安装是针对CentOS-6d1,安装包在 Extra Packages for Enterprise Linux (EPEL)中。它是社区版本。
首先你必须确保你有 EPEL repository 仓库并且可用。 请访问 安装 EPEL。
rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
在EPEL中已经提供了Docker的安装包docker-io。
如果你安装过没有发布的docker包,那可能会和docker-io引起冲突。最是发现的bug报告。为了安装docker-io,请先移除docker。
然后接下来安装
$ sudo yum install docker-io
使用Docker
一旦Docker安装完成,你需要以守护进程启动它。
$ sudo service docker start
如果我们想开机就启动Docker,添加如下命令:
$ sudo chkconfig docker on
好了现在我们来验证一下Docker可以正常的使用了。首先我们需要获取一个最新的centos镜像。
$ sudo docker pull centos
下一步,我们将确保我们可以看见运行的镜像:
$ sudo docker images centos
它会输出类似下面的结果:
$ sudo docker images centos
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest 0b443ba03958 2 hours ago 297.6 MB
使用镜像运行一个简单的shell脚本:
$ sudo docker run -i -t centos /bin/bash
如果一切正常,你会得到一个简单的bash提示符。输入exit继续。
Dockerfiles
CentOS提供了大量的Dockerfile模板,为了方便你熟悉docker的使用。模板都放在GitHub上https://github.com/CentOS/CentOS-Dockerfiles。
一切ok!您可以继续使用Docker 户指南或自己探索创建自己的的镜像。
问题?
如果您有任何问题 - 请直接报告给我们CentOS bug跟踪。