升级linux内核(2.6.32-3.10.81),安装docker1.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库; yum groupl
升级linux内核(2.6.32->3.10.81),安装docker
1.内核升级环境准备
#查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库;
yum grouplist
#一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具
yum groupinstall "Development Tools"
#你必须这样才能让 make *config 这个指令正确地执行
yum install ncurses-devel
#如果你没有 X 环境,这一条可以不用
yum install qt-devel
#创建 CentOS-6 内核时需要它们
yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
2.开始升级内核:
cd /usr/src/linux-3.10.81
#复制原内核配置
cp /boot/config.el6.x86_64 .config
vim .config
/*将如下内容 追加入.config 并保存
CONFIG_NF_NAT_IPV4=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_AUFS_FS=y
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_OVERLAY_FS=y
CONFIG_CGROUP_PERF=y
CONFIG_CFS_BANDWIDTH=y
HYPERVISOR_GUEST=y
CONFIG_VMWARE_BALLOON=m
*/
#编辑内核配置,开启内核CGROUP支持
make menuconfig
#选择General setup-->Control Group support->Memory Resource Controller for Control Groups选中
#自动整理.config
sh -c 'yes "" | make oldconfig'
#编译并安装内核(j8代表8个线程同时编译,,请根据你的机器情况设置)
make -j8 bzImage && make -j8 modules && make -j8 modules_install && make install
vim /etc/grub.conf
修改default=0保存。即选择从你新编译的内核启动linux。
#重启
reboot
#注意:重新编译内核请运行
cd /usr/src/linuxmrproper
make clean
3.安装docker
#启动后
uname -r
返回3.10.81表示内核安装并启动成功
wget https://get.docker.com/rpm/1.7.0/centos-6/RPMS/x86_64/docker-engine-1.7.0-1.el6.x86_64.rpm
#本地安装rpm包
sudo yum localinstall --nogpgcheck docker-engine-1.7.0-1.el6.x86_64.rpm
#启动docker服务
sudo service docker start 这里等价于docker -d
#如果要追加参数请修改/etc/sysconfig/docker 这个文件 如:加入other_args=" -s vfs"
-s 是指定使用的文件系统,默认是devicemapper 也可以是vfs 或aufs(ubuntu的)
我的在这里使用默认的devicemapper没有启动成功。请看FAQ#
#运行docker的最简镜像
docker run hello-world
#docker image/ps/search/pull 等等正常就成功了
4.FAQ有两个问题还没有解决
ERRO[0000] [graphdriver] prior storage driver "devicemapper" failed: exit status 1
FATA[0000] Error starting daemon: error initializing graphdriver: exit status 1
出现上述错误有如下解决办法!
*1. yum upgrade device-mapper-libs 再次启动看是否可以
2. 使用另一种文件系统试一下如:docker -d -s vfs 默认是devicemapper系统 还可以使用aufs
3.#至此如果还是没有启动docker-daemon守护服务,那就用下面的方法把docker版本降低试下*。
*并在/etc/yum.repos.d/hop5.repo中添加yum源内容*
[hop5]
name=www.hop5.in Centos Repository
baseurl=http://www.hop5.in/yum/el6/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-HOP5
保存并更新cache
yum makecache
安装docker-io
yum install docker-io
再次运行
docker -d
成功!
**上面第3步,启动docker-daemon不成功,可能是我的线上机器是虚拟机的问题所以加上 -s vfs 就启动成功了。**
##宿主机不能正常ping容器的ip
注意宿主(host)的iptables设置。
5.安装aufs文件系统
cd /etc/yum.repos.d
wget
yum install kernel-ml-aufs
docker -d -s aufs #使用aufs文件系统启动docker服务
快速安装方法
sudo yum install -y
更多参考: