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

  在我们以后的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. 【C】文件操作

    文件操作 文件的打开 FILE * fopen(const char filename,const char * mode); 文件的打开操作 fopen 打开一个文件 (几种操作文件的组合) 文件的 ...

  2. java继承-子类调用父类的方法中包含子类重写的方法

    # 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了... # 先看代码: public class Common { public static void main(String[] args ...

  3. QT对话框

    QFileDialog:文件对话框 QString fileName=QFileDialog::getOpenFileName(this,"打开文件", "/" ...

  4. 访问网络资源的方式--application/json和x-www-form-urlencoded

    以Jsoup为例,x-www-form-urlencoded方式 Map<String,Object> map = new HashMap<>(); map.put(" ...

  5. Task底层实现原理探秘

    .NET 4包含新名称空间System.Threading.Tasks,它 包含的类抽象出了线程功能, 在底层使用ThreadPool. 任务表示应完成的某个单元的工作. 这个单元的工作可以在单独的线 ...

  6. Jmeter的代理和cookie/session/Token令牌认证

    Jmeter的代理服务器 1.启动Jmeter: 2.“测试计划”中添加“线程组”: 3.“工作台”中添加“HTTP代理服务器”: 4.配置代理服务器:Global Settings下面的端口配置:9 ...

  7. jquery button选择器 语法

    jquery button选择器 语法 作用::button 选择器选取类型为 button 的 <button> 元素和 <input> 元素.大理石平台价格表 语法:$(& ...

  8. javascript类型判断最佳实践

    javascript有8种数据类型 值类型 Number Null Undefined String Symbol Boolean BigInt 引用类型 Object Array Function ...

  9. Linux 打印可变参数日志

    实现了传输进去的字符串所在的文档,函数和行数显示功能. 实现了将传入的可变参数打印到日志功能. #include<stdio.h> #include<stdarg.h> #in ...

  10. 「HEOI2014」大工程

    问题分析 首先不难想到是虚树.建完虚树需要保持节点间原先的距离关系. 然后总距离和最小距离用树形DP求,最大距离用两遍dfs即可.注意统计的时候只对关键点进行统计. 真是麻烦 参考程序 ac的时候是l ...