文档章节

CentOS6.X下Docker安装笔记

白石
 白石
发布于 2014/12/12 15:44
字数 1109
阅读 351
收藏 2
点赞 0
评论 0

(WJW)Docker安装笔记

[X] 一、禁用selinux

由于Selinux和LXC有冲突,所以需要禁用selinux.编辑/etc/selinux/config,设置两个关键变量.

SELINUX=disabled
SELINUXTYPE=targeted

[X] 二、安装Fedora EPEL源

rpm -ivh ./epel-release-6-8.noarch.rpm  
或者:  
#yum install http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

[X] 三、添加hop5.repo源

cp ./hop5.repo /etc/yum.repos.d        
或者:  
#cd /etc/yum.repos.d        
#wget http://www.hop5.in/yum/el6/hop5.repo  

[X] 四、安装Docker

yum安装

[X] 升级带aufs模块的3.10内核((可选)
yum install kernel-ml-aufs kernel-ml-aufs-devel
  1. 修改grub的主配置文件/etc/grub.conf,设置default=0,表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置)。
  2. 重启系统reboot now,
  3. 然后执行uname -r,查看是否已经是3.10内核!

[root@localhost ~]# uname -r
3.10.5-3.el6.x86_64

  1. 执行grep aufs /proc/filesystems,查看内核是否支持aufs!

[root@localhost ~]# grep aufs /proc/filesystems
nodev aufs

[X] 安装docker
yum install redhat-lsb

yum install iptables
chkconfig ip6tables off
chkconfig iptables off
service ip6tables stop
service iptables stop

yum install device-mapper-libs
yum install libcgroup*
yum install docker-io

如果报错:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

解决办法是编辑/etc/yum.repos.d/epel.repo,把基础的恢复,镜像的地址注释掉

#baseurl
mirrorlist

改成

baseurl
#mirrorlist

然后执行: yum clean all
=============================================================================================================================================================================================================================================
 Package                                                       Arch                                                  Version                                                       Repository                                           Size
=============================================================================================================================================================================================================================================
Installing:
 docker-io                                                     x86_64                                                1.2.0-3.el6                                                   epel                                                4.2 M
Installing for dependencies:
 lua-alt-getopt                                                noarch                                                0.7.0-1.el6                                                   epel                                                6.9 k
 lua-filesystem                                                x86_64                                                1.4.2-1.el6                                                   epel                                                 24 k
 lua-lxc                                                       x86_64                                                1.0.6-1.el6                                                   epel                                                 15 k
 lxc                                                           x86_64                                                1.0.6-1.el6                                                   epel                                                120 k
 lxc-libs                                                      x86_64                                                1.0.6-1.el6                                                   epel                                                248 k

Transaction Summary
=============================================================================================================================================================================================================================================
Install       6 Package(s)

Downloading Packages:
(1/6): docker-io-1.2.0-3.el6.x86_64.rpm                                                                                                                                                                               | 4.2 MB     00:02
(2/6): lua-alt-getopt-0.7.0-1.el6.noarch.rpm                                                                                                                                                                          | 6.9 kB     00:00
(3/6): lua-filesystem-1.4.2-1.el6.x86_64.rpm                                                                                                                                                                          |  24 kB     00:00
(4/6): lua-lxc-1.0.6-1.el6.x86_64.rpm                                                                                                                                                                                 |  15 kB     00:00
(5/6): lxc-1.0.6-1.el6.x86_64.rpm                                                                                                                                                                                     | 120 kB     00:00
(6/6): lxc-libs-1.0.6-1.el6.x86_64.rpm                                                                                                                                                                                | 248 kB     00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

rpm手工安装:

先执行

rpm --nodeps -ev $(rpm -qa | grep -i 'device-mapper-libs-')
rpm --nodeps -ev $(rpm -qa | grep -i 'device-mapper-')
rpm --nodeps -ev $(rpm -qa | grep -i 'device-mapper-event-libs-')
rpm --nodeps -ev $(rpm -qa | grep -i 'device-mapper-event-')

rpm -ivh ./device-mapper-event-1.02.90-2.el6.x86_64.rpm ./device-mapper-event-libs-1.02.90-2.el6.x86_64.rpm ./device-mapper-1.02.90-2.el6.x86_64.rpm ./device-mapper-libs-1.02.90-2.el6.x86_64.rpm

再执行

rpm -ivh ./lxc-libs-1.0.6-1.el6.x86_64.rpm
rpm -ivh ./lua-alt-getopt-0.7.0-1.el6.noarch.rpm
rpm -ivh ./lua-filesystem-1.4.2-1.el6.x86_64.rpm
rpm -ivh ./lua-lxc-1.0.6-1.el6.x86_64.rpm
rpm -ivh ./lxc-1.0.6-1.el6.x86_64.rpm
#6.4版本以下需要 rpm -ivh ./libcgroup-0.40.rc1-5.el6.x86_64.rpm
rpm -ivh ./docker-io-1.3.2-2.el6.x86_64.rpm

[X] 五、初步验证docker

输入docker -h,如果有如下输出,就证明docker在形式上已经安装成功.

# docker -h 
Usage of docker: 
  -D=false: Enable debug mode 
  -H=[]: Multiple tcp://host:port or unix://path/to/socket to bind in daemon mode, single connection otherwise 
  -api-enable-cors=false: Enable CORS headers in the remote API 
  -b="": Attach containers to a pre-existing network bridge; use 'none' to disable container networking
  -bip="": Use this CIDR notation address for the network bridge's IP, not compatible with -b 
  -d=false: Enable daemon mode 
  -dns=[]: Force docker to use specific DNS servers 
  -g="/var/lib/docker": Path to use as the root of the docker runtime 
  -icc=true: Enable inter-container communication 
  -ip="0.0.0.0": Default IP address to use when binding container ports 
  -iptables=true: Disable docker's addition of iptables rules 
  -p="/var/run/docker.pid": Path to use for daemon PID file
  -r=true: Restart previously running containers 
  -s="": Force the docker runtime to use a specific storage driver 
  -v=false: Print version information and quit

[X] 六 、启动docker服务:

service docker start
#docker -d -H unix:///var/run/docker.sock

[X] 七 、查找映象:

docker search 映象名字 从index.docker.io搜寻所需镜像. 去https://index.docker.io获取镜像相关的信息.

[X] 八 、进入 Docker 容器:

创建vi /bin/docker-enter.sh

#!/bin/sh

if [ -e $(dirname "$0")/nsenter ]; then
  # with boot2docker, nsenter is not in the PATH but it is in the same folder
  NSENTER=$(dirname "$0")/nsenter
else
  NSENTER=nsenter
fi

if [ -z "$1" ]; then
  echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]"
  echo ""
  echo "Enters the Docker CONTAINER and executes the specified COMMAND."
  echo "If COMMAND is not specified, runs an interactive shell in CONTAINER."
else
  PID=$(docker inspect --format "{{.State.Pid}}" "$1")
  if [ -z "$PID" ]; then
    exit 1
  fi
  shift

  OPTS="--target $PID --mount --uts --ipc --net --pid --"

  if [ -z "$1" ]; then
    # No command given.
    # Use su to clear all host environment variables except for TERM,
    # initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH,
    # and start a login shell.
    "$NSENTER" $OPTS su - root
  else
    # Use env to clear all host environment variables.
    "$NSENTER" $OPTS env --ignore-environment -- "$@"
  fi
fi

加上可执行chmod +x /bin/docker-enter.sh 运行docker-enter.sh <container id>,这样就进入到指定的容器中!

[X] 附录:低版本的Redhat(6.3)可能要手动挂载cgroup

我们首选禁用cgroup对应服务cgconfig.

  service cgconfig stop # 关闭服务 
  chkconfig cgconfig off # 取消开机启动

然后挂载cgroup,可以命令行挂载

  mount -t cgroup none /cgroup  #仅本次有效

或者修改配置文件,编辑/etc/fstab,加入

none                    /cgroup                 cgroup  defaults        0 0

© 著作权归作者所有

共有 人打赏支持
白石

白石

粉丝 62
博文 26
码字总数 34178
作品 1
海淀
程序员
Docker虚拟化技术系列之-Docker安装配置

如何在Centos6.x系列服务器安装,默认docker只有在centos6.5以上机器才能使用yum直接安装,如果其他版本需要安装centos扩展源epel。 docker官方文档说要求Linux kernel至少3.8以上,一般为c...

wgkgood ⋅ 2017/02/21 ⋅ 0

大数据实验室(大数据基础培训)——环境准备

为某企业做的培训,完整文档见:http://gudaoxuri.github.io/bd-lab/ 2. 环境准备 硬件要求:内存:>=4G,硬盘:>=20G,网络畅通 系统要求:Centos6.x,开启SSH,推荐使用Docker,也可使用实...

孤岛旭日 ⋅ 2016/05/06 ⋅ 0

使用Verdaccio搭建npm仓库

使用Verdaccio搭建npm仓库 曾静的技术博客2017-12-241 阅读 npm搭建仓库 Verdaccio是一个轻量级的私有NPM的Registry(从 Sinopia fork过来的,sinopia最后一次更新是在几年前了)。最开始是打...

曾静的技术博客 ⋅ 2017/12/24 ⋅ 0

docker安装(centos6.5_x86_64)

centos6.x安装: #wget http://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm #wget http://mirrors.ustc.edu.cn/fedora/epel/6/x8664/epel-release-6-8.noarch.rpm......

jk409 ⋅ 2014/09/02 ⋅ 0

在CentOS6.x中安装Docker

一、升级kernel 因为CentOS6.4自带内核版本是2.6.32-358.23.2.el6.x8664,而Docker要求内核版本大于3.0,推荐3.8以上的内核: $ wget http://elrepo.org/linux/kernel/el6/x8664/RPMS/kerne...

rgds ⋅ 2015/07/30 ⋅ 0

Docker Compose笔记 02 安装笔记

我正在学习Docker容器技术,相关笔记汇总在Docker容器技术 学习笔记汇总 在Docker Compose笔记 01 基础介绍中已经介绍了Docker Compose,这节讲讲安装方法,比较简单,都在https://docs.dock...

iotisan ⋅ 2017/11/16 ⋅ 0

CentOS6.x 下 LNMP环境搭建(三、安装 PHP)

CentOS6.x 下 LNMP环境搭建(准备篇) CentOS6.x 下 LNMP环境搭建(一、安装 MySQL) CentOS6.x 下 LNMP环境搭建(二、安装 Nginx) CentOS6.x 下 LNMP环境搭建(三、安装 PHP) 3.1. 检查 ...

whoru ⋅ 2016/09/28 ⋅ 0

opencv2在centos6.5上开发

博客写的有点乱,一般都是工作中遇到的问题,做一下笔记 1) 因为之前opencv是在centos7上开发调试的.突然发现服务器是cents6.x的.只能移植 centos 直接使用 2) centos 6.x安装opencv2.4.9 下载...

testwork ⋅ 2016/07/21 ⋅ 0

CentOS6.x 下 LNMP环境搭建(二、安装 Nginx)

CentOS6.x 下 LNMP环境搭建(准备篇) CentOS6.x 下 LNMP环境搭建(一、安装 MySQL) CentOS6.x 下 LNMP环境搭建(二、安装 Nginx) CentOS6.x 下 LNMP环境搭建(三、安装 PHP) 2.1. 安装依...

whoru ⋅ 2016/09/28 ⋅ 0

CentOS6.x 下 LNMP环境搭建(一、安装 MySQL)

CentOS6.x 下 LNMP环境搭建(准备篇) CentOS6.x 下 LNMP环境搭建(一、安装 MySQL) CentOS6.x 下 LNMP环境搭建(二、安装 Nginx) CentOS6.x 下 LNMP环境搭建(三、安装 PHP) 1. 创建用户...

whoru ⋅ 2016/09/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从零开始搭建Risc-v Rocket环境---(1)

为了搭建Rocke环境,我买了一个2T的移动硬盘,安装的ubuntu-16.04 LTS版。没有java8,gcc是5.4.0 joe@joe-Inspiron-7460:~$ java -version程序 'java' 已包含在下列软件包中: * default-...

whoisliang ⋅ 21分钟前 ⋅ 0

大数据学习路线(自己制定的,从零开始学习大数据)

大数据已经火了很久了,一直想了解它学习它结果没时间,过年后终于有时间了,了解了一些资料,结合我自己的情况,初步整理了一个学习路线,有问题的希望大神指点。 学习路线 Linux(shell,高并...

董黎明 ⋅ 27分钟前 ⋅ 0

systemd编写服务

一、开机启动 对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。 如果你想让该软件开机启动,就执行下面的命令(以httpd.service为例)。 ...

勇敢的飞石 ⋅ 29分钟前 ⋅ 0

mysql 基本sql

CREATE TABLE `BBB_build_info` ( `community_id` varchar(50) NOT NULL COMMENT '小区ID', `layer` int(11) NOT NULL COMMENT '地址层数', `id` int(11) NOT NULL COMMENT '地址id', `full_......

zaolonglei ⋅ 38分钟前 ⋅ 0

安装chrome的vue插件

参看文档:https://www.cnblogs.com/yulingjia/p/7904138.html

xiaoge2016 ⋅ 41分钟前 ⋅ 0

用SQL命令查看Mysql数据库大小

要想知道每个数据库的大小的话,步骤如下: 1、进入information_schema 数据库(存放了其他的数据库的信息) use information_schema; 2、查询所有数据的大小: select concat(round(sum(da...

源哥L ⋅ 今天 ⋅ 0

两个小实验简单介绍@Scope("prototype")

实验一 首先有如下代码(其中@RestController的作用相当于@Controller+@Responsebody,可忽略) @RestController//@Scope("prototype")public class TestController { @RequestMap...

kalnkaya ⋅ 今天 ⋅ 0

php-fpm的pool&php-fpm慢执行日志&open_basedir&php-fpm进程管理

12.21 php-fpm的pool pool是PHP-fpm的资源池,如果多个站点共用一个pool,则可能造成资源池中的资源耗尽,最终访问网站时出现502。 为了解决上述问题,我们可以配置多个pool,不同的站点使用...

影夜Linux ⋅ 今天 ⋅ 0

微服务 WildFly Swarm 管理

Expose Application Metrics and Information 要公开关于我们的微服务的有用信息,我们需要做的就是将监视器模块添加到我们的pom.xml中: 这将使在管理和监视功能得到实现。从监控角度来看,...

woshixin ⋅ 今天 ⋅ 0

java连接 mongo伪集群部署遇到的坑

部署mongo伪集群 #创建mongo数据存放文件地址mkdir -p /usr/local/config1/datamkdir -p /usr/local/config2/data mkdir -p /usr/local/config3/data mkdir -p /usr/local/config1/l......

努力爬坑人 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部