centos6.2 64 部署docker


安装docker yum源:

yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm


[root@yz6245 yum.repos.d]#  yum install docker-io

Loaded plugins: fastestmirror, refresh-packagekit, security

Loading mirror speeds from cached hostfile

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


解决:

修改repo:https 改为http

yum install docker-io


# docker  version

Client version: 1.7.1

Client API version: 1.19

Go version (client): go1.4.2

Git commit (client): 786b29d/1.7.1

OS/Arch (client): linux/amd64

Get http:///var/run/docker.sock/v1.19/version: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?




service docker start

启动成功

#service docker start 这里等价于docker -d 


docker -d  有报错:

[root@yz6245 yum.repos.d]# docker  -d

WARN[0000] You are running linux kernel version 2.6.32-220.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.10.0. 

docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference



解决:

yum install device-mapper-libs

安装成功后还是同样错误,对比在centos6.5上部署的环境,发现device-mapper-libs版本低,故进行了手动rpm安装。

升级高版本后解决。

依赖包:

yum install libudev-devel.x86_64




wget http://mirrors.163.com/centos/6/os/x86_64/Packages/device-mapper-1.02.117-7.el6.x86_64.rpm            

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/device-mapper-devel-1.02.117-7.el6.i686.rpm        

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/device-mapper-devel-1.02.117-7.el6.x86_64.rpm      

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/device-mapper-event-1.02.117-7.el6.x86_64.rpm      

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/device-mapper-event-devel-1.02.117-7.el6.i686.rpm  

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/device-mapper-event-devel-1.02.117-7.el6.x86_64

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/device-mapper-event-libs-1.02.117-7.el6.i686.rpm   

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/device-mapper-event-libs-1.02.117-7.el6.x86_64.rpm 

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/device-mapper-libs-1.02.117-7.el6.i686.rpm         

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/device-mapper-libs-1.02.117-7.el6.x86_64.rpm  


 

 

[root@yz6245 device-mapper]# service docker restart 

Stopping docker:                                           [FAILED]

Starting docker:                                   [  OK  ]

[root@yz6245 device-mapper]# docker -d

WARN[0000] You are running linux kernel version 2.6.32-220.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.10.0. 

INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 

ERRO[0000] [graphdriver] prior storage driver "devicemapper" failed: Error running DeviceCreate (CreatePool) dm_task_run failed 

FATA[0000] Error starting daemon: error initializing graphdriver: Error running DeviceCreate (CreatePool) dm_task_run failed 


还是报错,网上说可能是磁盘空间问题,发现没有异常。

[root@yz6245 device-mapper]# 

[root@yz6245 device-mapper]# df

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda1             41284736   7586236  31601360  20% /

tmpfs                  1896576         0   1896576   0% /dev/shm

/dev/vda1            309627260    195416 293703700   1% /data0

[root@yz6245 device-mapper]# ll /var/lib/docker/

total 8

drwx------ 4 root root 4096 Sep 22 20:17 devicemapper

drwx------ 2 root root 4096 Sep 22 19:27 tmp

[root@yz6245 device-mapper]# rm -rf  /var/lib/docker/*

[root@yz6245 device-mapper]# service docker restart 

Stopping docker:                                           [FAILED]

Starting docker:                                   [  OK  ]

[root@yz6245 device-mapper]# docker -d

WARN[0000] You are running linux kernel version 2.6.32-220.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.10.0. 

ERRO[0000] [graphdriver] prior storage driver "devicemapper" failed: Error running DeviceCreate (CreatePool) dm_task_run failed 

FATA[0000] Error starting daemon: error initializing graphdriver: Error running DeviceCreate (CreatePool) dm_task_run failed 




-s 是指定使用的文件系统,默认是devicemapper 也可以是vfs 或aufs(ubuntu的)

**  启动docker-daemon不成功,可能是我的线上机器是虚拟机的问题所以加上 -s vfs 就启动成功了。**


#如果要追加参数请修改/etc/sysconfig/docker 这个文件 如:加入other_args=" -s vfs"




[root@yz6245 device-mapper]# docker -d -s vfs 

WARN[0000] You are running linux kernel version 2.6.32-220.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.10.0. 

INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) 

WARN[0000] Running modprobe bridge nf_nat failed with message: , error: exit status 1 

WARN[0000] Your kernel does not support oom control.    

INFO[0000] Loading containers: start.                   


INFO[0000] Loading containers: done.                    

INFO[0000] Daemon has completed initialization          

INFO[0000] Docker daemon                                 commit=786b29d/1.7.1 ex




#到目前为止已经能正常pull镜像,但是无法正常运行container。

[root@yz6245 ~]# docker  p_w_picpaths

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

commonms/ansible    latest              b3e0a9dd686a        2 days ago          469.2 MB

[root@yz6245 ~]# docker  run -i -t  commonms/ansible  /bin/bash

...

...

一直卡住不动。待解决。