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

  在我们以后的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也显示了端口映射关系

Docker在CentOS下的安装的更多相关文章

  1. Elasticsearch 在docker和centos下的安装教程

    前言 新版本的Elasticsearch不能以root用户来运行.因此,MAC下建议使用Docker来安装. 国内各版本镜像:点击这 Centos7.4 64位 第一步 下载.tar.gz的安装包 不 ...

  2. centos下编译安装lnmp

    centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...

  3. CentOS下一键安装Openstack

    CentOS下一键安装Openstack 系统环境:Oracle VirtualBox 4.38CentOS-6.5-x86_64-bin-DVD1.iso 安装前需要修改 /etc/hosts文件, ...

  4. mac和centos下git安装

    mac下面的git安装,这篇文章写的很详细了http://www.cnblogs.com/ccdev/archive/2012/09/12/2682098.html 谈谈centos下的安装.我用的是 ...

  5. centOS下yum安装配置samba

     centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...

  6. centos下apache安装后无法访问

    2013.11.28遇到的问题: -------------------------------------- 一.centos下apache安装后无法访问 得查一下防火墙的问题 iptables添加 ...

  7. centos下yum安装crontab+mysql自动备份

    参考博文: centos下yum安装crontab yum install vixie-cron crontabs      //安装 chkconfig crond on               ...

  8. CentOS下Mysql安装教程

    CentOS下Mysql安装教程 本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个 ...

  9. (转载)Centos下Elasticsearch安装详细教程

    原文地址:http://www.cnblogs.com/sunny1009/articles/7874251.html Centos下Elasticsearch安装详细教程 1.Elasticsear ...

随机推荐

  1. pv与pvc

    目的: 为了屏蔽底层存储实现的细节, 让用户方便使用同时让管理员方便管理, 引入了pv与pvc两种资源对象实现对存储的管理子系统 pv: 对底层网络共享存储的抽象, 将共享存储定义为一种资源 pvc: ...

  2. 1.Shell脚本

    1.Shell脚本 可以将Shell终端解释器当作人与计算机硬件之间的“翻译官”,它作为用户与Linux系统内部的通信媒介,除了能够支持各种变量与参数外,还提供了诸如循环.分支等高级编 程语言才有的控 ...

  3. windows 环境下基于Python 的GDAL 安装

    最近由于需要利用pytho处理地理空间数据,但是python本身并没有访问和处理地理空间数据的包,只能借助于GDAL(Geospatial Data Abstraction Library)来进行访问 ...

  4. Python的在线编辑环境

    另外,再提供几个Python的在线编辑环境,可以直接写代码并且运行的环境. 在线Python实验室:http://www.pythoner.cn/labs/ 在线Python编辑器:http://ww ...

  5. JavaScript设计模式与开发实践(二)——apply&&call

    call和apply的用途 改变this指向 先看个例子: var obj1 = { name: 'sven' }; var obj2 = { name: 'anne' }; window.name ...

  6. iOS View的一些操作定义为宏

    #define ViewOf(__View__,__TAG__) [__View__ viewWithTag:__TAG__]#define LabelOf(__View__,__TAG__) ((U ...

  7. Resource ResourceLoader

    DefaultResourceLoader   -- > ResourceLoader 方法 ResourceLoader getResource(String location); Class ...

  8. Java中的equals,==,compareTo和compare的比较

    Java中的equals(),==,compareTo()和compare() 首先只有==可以用作两个基本类型数据之间的比较,当然是值比较.当用作两个对象比较时,比较的是对象引用,而不是值比较. 其 ...

  9. 给零基础的小白从0到1的react-naitve电商app——简单易学!

    先上链接https://github.com/duf1991/DY...我的第一个react-native学习成果,欢迎各位大佬star和issue!

  10. java.sql.SQLException: Unknown column 'user0_.user_name' in 'field list' 报错问题

    报错信息: java.sql.SQLException: Unknown column 'user0_.user_name' in 'field list'Query is: select user0 ...