1 在 CentOS 6.4 上安裝 docker
docker當前官方只支持Ubuntu,所以在 CentOS 安裝Docker比較麻煩(Issue #172)。
docker官方文檔說要求Linux kernel至少3.8以上,CentOS 6.4是2.6的內核,於是我哼哧哼哧的編譯安裝了最新的kernel 3.11.6,重啟后運行docker還是失敗,最后找到原因,是因為編譯時忘記集成aufs模塊了。aufs 需要和 kernel 一起編譯,很麻煩。
不過不需要這么麻煩,有強人已經編譯好了帶aufs模塊的內核,見這里Installing docker.io on centos 6.4 (64-bit)
1.1 取消selinux,因為它會干擾lxc的正常功能
sudo vim /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
1.2 安裝 Fedora EPEL
sudo yum install http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
1.3 添加 hop5 repo地址
cd /etc/yum.repos.d
sudo wget http://www.hop5.in/yum/el6/hop5.repo
1.4 安裝 docker-io
sudo yum install docker-io
會自動安裝帶aufs模塊的3.10內核,以及docker-io包。
1.5 將 cgroup 文件系統添加到 /etc/fstab , 只有這樣docker才能正常工作
sudo echo "none /sys/fs/cgroup cgroup defaults 0 0" >> /etc/fstab
1.6 修改grub引導順序
sudo vim /etc/grub.conf
default=0
設置default為新安裝的內核的位置,一般是0
1.7 重啟
sudo reboot
1.8 檢查新內核是否引導成功
重啟后,檢查一下新內核是否引導起來了
uname -r
3.10.5-3.el6.x86_64
說明成功了
看一下 aufs是否存在
grep aufs /proc/filesystems
nodev aufs
說明存在
1.9 啟動 docker daemon 進程
sudo docker -d &
如果你在公司,且公司內部都是通過代理上網,則可以把代理服務器告訴docker,用如下命令(參考這里):
sudo HTTP_PROXY=http://xxx:port docker -d &
1.10 下載 ubuntu 鏡像
sudo docker pull ubuntu
1.11 運行 hello world
sudo docker run ubuntu /bin/echo hello world
hello world
安裝成功了!!
注意如果鏡像不可用
設置docker鏡像源
yum install -y yum-priorities && rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
檢查hello時
WARNING IPv4 forwarding is disabled. Networking will not work
解決辦法:
# vi /etc/sysctl.conf
或者
# vi /usr/lib/sysctl.d/00-system.conf
添加如下代碼:
net.ipv4.ip_forward=1
重啟network服務
# /etc/init.d/network restart
查看是否修改成功
# sysctl net.ipv4.ip_forward
如果返回為“net.ipv4.ip_forward = 1”則表示成功了
