系统盒子 - Windwos系统下载网站!

当前位置:首页 > 电脑维修 > 苹果MAC教程 > 在 CentOS 6上安装 docker-io/docker-engine

在 CentOS 6上安装 docker-io/docker-engine

时间:2021-05-10 09:40 作者:系统盒子 来源:互联网

一、需求说明

二、操作系统环境

三、基础环境的准备

四、升级内核

五、安装Docker1.7并升级Docker到1.9

一、需求说明

先说一下,现在要安装Docker进行学习的话,推荐在CentOS7上安装Docker-ce。

docker-io是比较老的版本,很多功能是没有的。

CentOS6默认只支持到Docker1.7,后面的版本都需要安装在CentOS7上,但其实CentOS6是可以支持到Docker1.9的。

CentOS6不要安装Docker0.7以下的版本了,比如Docker0.5/0.6,基本上是没办法使用的。

CentOS6安装Docker必须要升级内核到3.10及以上内核版本才行,内核还必须开启aufs模块。

我这里就讲一下怎么升级内核,然后再安装Docker1.7,再升级到1.9。

二、操作系统环境

#cat/etc/issue

CentOS release 6.5(Final)

#uname-r

2.6.32-431.el6.x86_64

三、基础环境的准备

1、安装开发平台工具

#yum groupinstall“Development tools”

2、安装内核升级需要的依赖组件

#yum install device-mapper ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel

3、安装device-mapper

#yum upgrade device-mapper

4、因为selinux和LXC有冲突,所以需要禁用SELinux

#vim/etc/sysconfig/selinux

SELINUX=disabled

5、要想docker正常运行还需要在/etc/fstab里增加cgroup文件系统

echo“none/sys/fs/cgroup cgroup defaults 0 0”>>/etc/fstab

四、升级内核

有两种方式来升级有开启aufs模块的内核,一种是使用别人制作好的rpm包来进行升级,一种是下载内核源码自己编译升级。

这里主要是讲安装Docker,所以我们直接使用制作好的rpm包来进行升级就可以。

升级内核文件可以到网上去下载,评论区也有提供下载地址。

1.png

下载后,直接安装

#yum install kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm

Preparing...###########################################[100%]

1:kernel-ml-aufs###########################################[100%]

安装完成后,会自动添加启动项到/etc/grub.conf中,我们需要编辑grub.conf文件,启用新的内核:

#vim/etc/grub.conf

default=1

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS(3.10.5-3.el6.x86_64)

root(hd0,0)

kernel/vmlinuz-3.10.5-3.el6.x86_64 ro root=UUID=c1397596-401f-4e93-b097-1927ad949b0c nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_NO_LVM rd_NO_DM rhgb quiet

initrd/initramfs-3.10.5-3.el6.x86_64.img

title CentOS(2.6.32-431.el6.x86_64)

root(hd0,0)

kernel/vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=c1397596-401f-4e93-b097-1927ad949b0c nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_NO_LVM rd_NO_DM rhgb quiet

initrd/initramfs-2.6.32-431.el6.x86_64.img

一般新的内核启动项都会排在最上面,所以我们只需要把grub.conf中的default=1改成default=0就可以了。

编辑完保存,退出。重启系统。

#reboot

重启后,确认内核是否升级成功。

#uname-r

3.10.5-3.el6.x86_64

#grep aufs/proc/filesystems

nodev aufs

内核升级成功。

五、安装Docker1.7并升级Docker到1.9

1、安装Docker

可以在CentOS6操作系统上安装docker-io或者docker-engine,但docker-io版本非常老了,很多功能没有,特别是不要安装docker-io 0.7以下的版本。

如果是安装docker-io,还需要先安装epel源,因为有些依赖性的软件还需要安装

#yum-y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

这里我安装docker-engine版本。

下载docker-engine-1.7.1-1.el6.x86_64.rpm(也可以从网盘下载,地址见评论区)

#wget https://yum.dockerproject.org/repo/main/centos/6/Packages/docker-engine-1.7.1-1.el6.x86_64.rpm

用yum安装:

#yum install docker-engine-1.7.1-1.el6.x86_64.rpm

安装完,启动docker服务

#service docker start

Starting cgconfig service:Error:cannot mount cpuset to/cgroup/cpuset:Device or resource busy

/sbin/cgconfigparser;error loading/etc/cgconfig.conf:Cgroup mounting failed

Failed to parse/etc/cgconfig.conf[FAILED]

Starting docker:[OK]

有个报错,不用管它,只要最后启动OK就行了。

执行docker命令确认:

#docker version

Client version:1.7.1

Client API version:1.19

Go version(client):go1.4.2

Git commit(client):786b29d

OS/Arch(client):linux/amd64

2、测试Docker

我们可以下载一个hello-world的镜像来运行测试一下。

先使用docker search搜索查寻这个镜像

#docker search hello-world

NAME DESCRIPTION STARS OFFICIAL AUTOMATED

hello-world Hello World!(an example of minimal Docker...1029[OK]

kitematic/hello-world-nginx A light-weight nginx container that demons...132

tutum/hello-world Image to test docker deployments.Has Apac...63[OK]

dockercloud/hello-world Hello World!15[OK]

crccheck/hello-world Hello World web server in under 2.5 MB 10[OK]

vad1mo/hello-world-rest A simple REST Service that echoes back all...2[OK]

ppc64le/hello-world Hello World!(an example of minimal Docker...2

carinamarina/hello-world-app This is a sample Python web application,r...1[OK]

souravpatnaik/hello-world-go hello-world in Golang 1

能查出很多,安装第一个,也就是stars(星星数,相当于好评数)数最多的那个。

#docker run hello-world

docker run hello-world

Unable to find image'hello-world:latest'locally

latest:Pulling from hello-world

65b27d3bd74d:Pull complete

9f5834b25059:Pull complete

Digest:sha256:fb158b7ad66f4d58aa66c4455858230cd2eab4cdf29b13e5c3628a6bfc2e9f05

Status:Downloaded newer image for hello-world:latest

Error response from daemon:Cannot start container 7ef5517ebdde24f97fa0910e27f8bcea36d5154bdad9bf10b5d241b3b9fd626a:[8]System error:write/sys/fs/cgroup/docker/7ef5517ebdde24f97fa0910e27f8bcea36d5154bdad9bf10b5d241b3b9fd626a/cgroup.procs:no space left on device

如果有出现cgroup.procs:no space left on device的错误,还需要执行一下下面三句命令,然后重启docker服务

echo 1>/sys/fs/cgroup/docker/cgroup.clone_children

echo 0>/sys/fs/cgroup/docker/cpuset.mems

echo 0>/sys/fs/cgroup/docker/cpuset.cpus

#service docker restart

然后再运行hello-world的镜像

#docker run hello-world

Hello from Docker!

This message shows that your installation appears to be working correctly.

To generate this message,Docker took the following steps:

1.The Docker client contacted the Docker daemon.

2.The Docker daemon pulled the"hello-world"image from the Docker Hub.

(amd64)

3.The Docker daemon created a new container from that image which runs the

executable that produces the output you are currently reading.

4.The Docker daemon streamed that output to the Docker client,which sent it

to your terminal.

To try something more ambitious,you can run an Ubuntu container with:

$docker run-it ubuntu bash

Share images,automate workflows,and more with a free Docker ID:

https://hub.docker.com/

For more examples and ideas,visit:

https://docs.docker.com/get-started/

如果出现上面的提示,那说明docker基本上能正常运行了。

使用docker images查看本地镜像:

#docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

hello-world latest 9f5834b25059 8 months ago 1.84 kB

3、升级Docker

要升级Docker到1.9,我们只要下载1.9的二进制文件,然后替换原来的二进制文件即可。

停止docker服务

#service docker stop

备份原来的docker二进制文件

#mv/usr/bin/docker/usr/bin/docker-1.7

下载1.9的二进制文件(也可以从网盘下载,地址见评论区)

#wget https://get.docker.com/builds/Linux/x86_64/docker-1.9.1

把下载的1.9的二进制文件复制到原来docker位置

#cp docker-1.9.1/usr/bin/docker

赋予执行权限

#chmod+x/usr/bin/docker

查看升级后的版本信息

#docker version

Client:

Version:1.9.1

API version:1.21

Go version:go1.4.3

Git commit:a34a1d5

Built:Fri Nov 20 17:56:04 UTC 2015

OS/Arch:linux/amd64

Server:

Version:1.9.1

API version:1.21

Go version:go1.4.3

Git commit:a34a1d5

Built:Fri Nov 20 17:56:04 UTC 2015

OS/Arch:linux/amd64

升级成功。


标签
分享到:

其他版本软件

人气教程排行

Win7系统推荐