在我们以后的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也显示了端口映射关系 (责任编辑:IT) |