如有错误欢迎指正,期待您的宝贵意见!
利用virtualBOX 安装一个cents7.1 的虚机
http://www.widuu.com/docker/installation/centos.html 安装链接
背景
由于内核版本问题,最初仅Ubuntu可以较好的支持Docker。不过,由于RedHat系列OS(REHL、CentOS)是目前主流的Linux服务器操作系统,所以令RedHat系列OS支持Docker很有必要。目前Docker和RedHat已经展开深入合作,并在2013年年底推出了可以在RedHat系列OS上运行的Docker0.7。
目前有一些博客介绍了如何在CentOS上安装Docker,例如http://www.linuxidc.com/Linux/2014-01/95512.htm 。但是这些博客都是针对老版本的Docker,安装方法是在升级操作系统内核版本的基础上完成。问题是,我们不可以随意升级生产环境的操作系统内核版本,而且Docker0.7的主旨就是:Docker使用者可以在不升级内核的前提下,在RedHat环境这使用Docker。因此,这里撰写一篇博客,介绍如何在RedHat/CentOS环境下,安装新版本的Docker。
一、禁用selinux
由于Selinux和LXC有冲突,所以需要禁用selinux。编辑/etc/selinux/config,设置两个关键变量。
SELINUX=disabled
SELINUXTYPE=targeted
二、配置Fedora EPEL源
1 sudo yum install http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
三、添加hop5.repo源
先安装wget 命令
cd /etc/yum.repos.d
sudo wget http://www.hop5.in/yum/el6/hop5.repo
四、安装Docker
sudo yum install docker-io
报错了
==============================================================================================================================================================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================================================================================================================================================
Installing:
docker-io x86_64 0.6.2-1.el6 hop5 1.3 M
Installing for dependencies:
kernel-ml-aufs x86_64 3.10.5-3.el6 hop5 33 M
lxc x86_64 0.9.0-1.el6 hop5 97 k
lxc-libs x86_64 0.9.0-1.el6 hop5 99 k
Transaction Summary
==============================================================================================================================================================================================================================================================================
Install 1 Package (+3 Dependent packages)
Total download size: 35 M
Installed size: 160 M
Is this ok [y/d/N]: y
Downloading packages:
(1/4): docker-io-0.6.2-1.el6.x86_64.rpm | 1.3 MB 00:00:06
(2/4): lxc-0.9.0-1.el6.x86_64.rpm | 97 kB 00:00:00
(3/4): lxc-libs-0.9.0-1.el6.x86_64.rpm | 99 kB 00:00:00
kernel-ml-aufs-3.10.5-3.el6.x8 FAILED 31% [==================================- ] 105 B/s | 11 MB 65:23:00 ETA
http://www.hop5.in/yum/el6/kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm: [Errno 12] Timeout on http://www.hop5.in/yum/el6/kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')05 B/s | 11 MB 65:23:00 ETA
Trying other mirror.
(4/4): kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm 58% [================================================================ ] 9.3 kB/s | 20 MB 00:26:23 ETA
(4/4): kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm 58% [================================================================ ] 6.9 kB/s | 20 MB 00:35:16 ETA
kernel-ml-aufs-3.10.5-3.el6.x8 FAILED 64% [======================================================================= ] 8.8 kB/s | 22 MB 00:23:37 ETA
http://www.hop5.in/yum/el6/kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm: [Errno 14] curl#18 - "transfer closed with 12759311 bytes remaining to read"====================================================== ] 8.8 kB/s | 22 MB 00:23:37 ETA
Trying other mirror.
Error downloading packages:
kernel-ml-aufs-3.10.5-3.el6.x86_64: [Errno 256] No more mirrors to try.
重新执行安装命令: sudo yum install docker-io
Installed:
docker-io.x86_64 0:0.6.2-1.el6
Dependency Installed:
kernel-ml-aufs.x86_64 0:3.10.5-3.el6 lxc.x86_64 0:0.9.0-1.el6 lxc-libs.x86_64 0:0.9.0-1.el6
Complete!
安装成功。
[root@localhost yum.repos.d]# docker -h
Usage of docker:
-D=false: Debug mode
-H=[unix:///var/run/docker.sock]: tcp://host:port to bind/connect to or unix://path/to/socket to use
-api-enable-cors=false: Enable CORS requests in the remote api.
-b="": Attach containers to a pre-existing network bridge. Use 'none' to disable container networking
-d=false: Daemon mode
-dns="": Set custom dns servers
-g="/var/lib/docker": Path to graph storage base dir.
-p="/var/run/docker.pid": File containing process PID
-r=false: Restart previously running containers
-v=false: Print version information and quit