一.運行docker Linux內核版本需要在3.8以上,針對centos6.5 內核為2.6的系統需要先升級內核.不然會特別卡
在yum的ELRepo源中,有mainline(4.5)、long-term(4.4)這2個內核最新版本,考慮到long-term更穩定,會長期更新,所以選擇這個版本。(在 http://hkg.mirror.rackspace.com/elrepo/kernel/el7/x86_64/RPMS/ 能查看最新內核版本)
1.查看當前版本:
[root@localhost ~]# more /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m [root@localhost ~]# uname -a Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
2.升級內核
1.>導入public key
rpm --import http://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2.>安裝ELRepo到CentOS-6.5中
rpm -ivh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
3.>安裝**kernel-lt(lt=long-term)**
yum --enablerepo=elrepo-kernel install kernel-lt -y
或者安裝kernel-ml(ml=mainline)
yum --enablerepo=elrepo-kernel install kernel-ml -y
4.>編輯grub.conf文件,修改Grub引導順序
vim /etc/grub.conf
# grub.conf generated by anaconda # default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (4.4.121-1.el6.elrepo.x86_64) root (hd0,0) kernel /vmlinuz-4.4.121-1.el6.elrepo.x86_64 ro root=UUID=9955fe5f-5015-4582-a9d5-60fedd85d282 rd_NO_LUKS rd_NO_LVM LANG=zh_CN.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-4.4.121-1.el6.elrepo.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=9955fe5f-5015-4582-a9d5-60fedd85d282 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-431.el6.x86_64.img
確認剛安裝好的內核在哪個位置,然后設置default值(從0開始),一般新安裝的內核在第一個位置,所以設置default=0
5.>重啟,查看內核版本號.
[root@localhost ~]# reboot [root@localhost ~]# uname -r 4.4.121-1.el6.elrepo.x86_64
至此,CentOS6.5的內核升級完成,下面就可以安裝docker了.
二.安裝docker
直接使用命令: yum install docker-io 是會報錯的!!! 提示:No package docker-io available.
需要先安裝yum 源.
yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
再執行
yum install docker-io
就可以正常安裝了!!
啟動docker
service docker start
查看docker版本:
[root@localhost ]# 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 Server version: 1.7.1 Server API version: 1.19 Go version (server): go1.4.2 Git commit (server): 786b29d/1.7.1 OS/Arch (server): linux/amd64
查看docker日志.
cat /var/log/docker
至此,docker安裝完成!!!
三.卸載docker
列出你安裝過的包
[root@localhost ~]# yum list installed | grep docker docker-io.x86_64 1.7.1-2.el6 @epel
刪除軟件包
yum -y remove docker-io.x86_64
rm -rf /var/lib/docker
四.docker加速配置,配置國內源(docker1.7修改方法)
vi /etc/sysconfig/docker
加入下面兩行other_args="--registry-mirror=https://wbtwgo1e.mirror.aliyuncs.com" OPTIONS='--registry-mirror=https://wbtwgo1e.mirror.aliyuncs.com'
五.報錯解決
docker 已死,但 pid 文件仍存報錯(service docker status)
yum install device-mapper-event-libs
六.安裝docker-compose,版本1.5.2,適配docker1.7
Compose是Docker的服務編排工具,主要用來構建基於Docker的復雜應用,Compose 通過一個配置文件來管理多個Docker容器,非常適合組合使用多個容器進行開發的場景。
安裝
sudo curl -L https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
設置可執行
sudo chmod +x /usr/bin/docker-compose
備注:V1 版本的 docker-compose.yml 只被支持到 docker-compose 1.6.x。再往后的 docker-compose 版本就不再支持 V1 版本的 docker-compose.yml。
1.5.2就只能用V1 版本的 docker-compose.yml
七.升級docker 1.9.1(升級docker1.10一直失敗啟動不了)(升級后docker-1.9.1里沒php:7.1-fpmERROR: Service 'php' failed to build: Tag 7.1-fpm not found in repository docker.io/library/php)(建議不升)
curl -sSL -O https://get.docker.com/builds/Linux/x86_64/docker-1.9.1 && chmod +x docker-1.9.1 && mv docker-1.9.1 /usr/local/bin/docker cp /usr/local/bin/docker /usr/bin/docker service docker start