工欲善其事,必先利其器。

  在我们以后的Docker学习中,都推荐使用CentOS6.5作为学习平台,毕竟Docker的内核也是基于Linux的。本文主要分享笔者在CentOS下的安装Docker的过程。

  安装环境:CentOS6.5。

 

第一步:

  首先进入Docker的官方文档,我们迅速找到CentOS下的安装说明。

  在CentOS6以后的版本中,Docker包必须在EPEL库中获取,所以我们必须先安装EPEL。如果不了解EPEL(Extra Package for Enterprise Linux)的读者可以登录其官网看看,这里我也直接给出安装过程了。

  先下载EPEL的rpm安装包

  终端下命令:

  wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

  下载后通过以下命令安装EPEL软件包

  sudo rpm -ivh epel-release-6-8.noarch.rpm

  最后会有一行:repolist:18323(数字),表示EPEL提供的包的数量,此时就已经成功了。

 

第二步:

  回到官网,我们通过yum安装Docker,终端下命令:

  sudo yum install docker-io

  等待安装成功即可。

  启动Docker服务。

  sudo service docker start

  现在我们可以尝试使用Docker了。

  sudo docker pull centos:latest

 

安装后可能出现的错误

  笔者依然尝试运行终端下输出hello world和搭建web下的hello world,但是这里出现了小问题。

  终端下输出hello world时:

  docker run ubuntu:14.04 /bin/echo 'Hello World'

  报错:unable to remount sys readonly: unable to mount sys as readonly max retries reached

图1.终端下Hello World 失败

 

  启动python的web程序时:

  docker run -d -P training/webapp python app.py

  成功并返回了容器ID,但是当我们查看该容器的状态时,在STATUS这一栏居然是Exited,也就是说创建成功了,但是启动失败了。

图2.容器启动失败

 

  Google一番以后终于找到了问题所在,在CentOS下还需要修改相应的配置文件。

  需要把/etc/sysconfig/docker文件中的other-args更改为:

  other_args="--exec-driver=lxc --selinux-enabled"      

  否则的话不起作用,如图3所示。

图3.修改配置文件,这里是修改后的截图

 

  接下来重启Docker服务:

  sudo service docker restart

图4.重启Docker服务

 

  再次运行,两个”hello world”都成功了。

图5.终端下的hello world

 

图6.此时STATUS显示已启动的时长,PORTS也显示了端口映射关系

 posted on 2014-06-20 18:56  牧羊少年  阅读(3645)  评论(0编辑  收藏  举报