centos6.5升級Linux內核步驟

centos6.5升級Linux內核步驟

http://www.jianshu.com/p/c75f00182b4cnode

 

使用的操做系統是是centos6.5,按照官方的推薦的配置,把linux內核升級到3.8以上。安裝步驟以下:linux

一、升級內核版本(包含aufs)

cd /etc/yum.repos.dgit

wget http://www.hop5.in/yum/el6/hop5.repogithub

yum install kernel-ml-aufs kernel-ml-aufs-develdocker

二、修改引導的內核

vi /etc/grub.confshell

把默認的引導文件設置爲0。由於升級內核以後,新的內核在第一個(0)位置。bootstrap

三、重啓系統,使用新的內核

#檢查內核版本:vim

uname  -rcentos

3.10.5-3.el6.x86_64bash

#檢查aufs是否存在

grep aufs /proc/filesystems

nodev    aufs

四、安裝相應的epel源

wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh  epel-release-6-8.noarch.rpm

五、安裝docker

yum -y install docker-io

六、啓動docker

啓動docker進程:service docker start

查看docker進程:ps -ef |grep docker

root      1878    1  0 18:33 ?        00:00:00 /usr/bin/docker -d

root      2307  2201  0 18:52 pts/0    00:00:00 grep docker

七、Docker經常使用命令講解

docker  version #查看版本

docker  search centos#搜索可用docker鏡像

docker  images 查看當前docker全部鏡像

docker  pull  centos #下載鏡像

cat  centos.tar | docker import  -  centos6  #Docker導入鏡像

docker  export  id  > cenos6.tar  #Docker導出鏡像

docker  run  centos echo "hello word"#在docker容器中運行hello world!

docker  run  centos yum install ntpdate#在容器中安裝ntpdate的程序

docker  ps -l 命令得到最後一個容器的id,docker  ps  -a查看全部的容器。

運行docker commit 提交剛修改的容器,例如:

docker  commit  2313132  centos:v1

docker run -i -t centos /bin/bash 在容器裏啓動一個/bin/bash shell環境,能夠登陸進入操做,其中-t 表示打開一個終端的意思,-i表示能夠交互輸入。

docker run -d -i -t centos /bin/bash 在後臺啓動

docker attach CONTAINER ID 進入在後臺啓動後的這個容器

docker  run  -d  centos:v1  /bin/bash  ,-d表示在後臺啓動,以daemon方式啓動。

docker run -d -p 80:80 -p 8022:22 centos:latest /usr/bin/sshd -D

docker stop  id 關閉容器

docker start  id 啓動某個容器

docker  rm  id 刪除容器,docker  rmi  images刪除鏡像

進入容器:

若是 docker 版本已經在 1.3 以上了, 那麼能夠用 docker exec 這個命令:

docker exec -it  <容器id>/bin/bash           

這樣你就進到這個container 裏面了,這個bash退出也不會影響以前 docker run 啓動的 bash

八、Docker獨立IP及容器互聯

service docker stop

ifconfig docker0 down

brctl delbr docker0

cd /etc/sysconfig/network-scripts/

vi ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

BRIDGE="br0"

BOOTPROTO=static

vi ifcfg-br0

DEVICE="br0"

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

TYPE=bridge

IPADDR=192.168.1.165

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS=192.168.1.50

vi /etc/sysconfig/docker

other_args="-b=br0"

service docker start

[root@localhost ~]# ps -ef|grep docker

root      5502    1  0 01:23 pts/3    00:00:00 /usr/bin/docker -d -b=br0

root      5800  5311  0 01:47 pts/3    00:00:00 grep docker

service network restart

可能會報如下錯誤:

Shutting down interface eth0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface br0:  Determining if ip address 192.168.1.161 is already in use for device br0...

[  OK  ]

Bringing up interface eth0:  Error: Connection activation failed: Master connection not found or invalid

[FAILED]

解決方法:

此時,當前網卡也是能夠通訊的,可是經過網絡管理工具修改IP以後,當前修改操做是不會生效的。那如何消除這個提示呢?

其實,問題的緣由是RedHat本身開發的NetworkManager管理工具和/etc/sysconfig/network-scripts/ifcfg-ethx配置不一樣步形成的。若是要消除這個提示,請關閉NetworkManager服務便可:

chkconfig NetworkManager off

service NetworkManager stop

Stopping NetworkManager daemon:                            [  OK  ]

此時,再從新加載network服務便可:

service network restart

Shutting down interface br0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface br0:  Determining if ip address 192.168.1.161 is already in use for device br0...

[  OK  ]

Bringing up interface eth0:  device eth0 is already a member of a bridge; can't enslave it to bridge br0.

[  OK  ]

九、爲容器手動配置靜態ip

安裝新的 iproute 包:

wget https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/iproute-2.6.32-130.el6ost.netns.2.x86_64.rpm

yum localinstall iproute-2.6.32-130.el6ost.netns.2.x86_64.rpm

安裝pipework:

git clone https://github.com/jpetazzo/pipework

cp ~/pipework/pipework /usr/local/bin/

啓動Docker容器:

docker run -itd --net=none jdeathe/centos-ssh:latest /bin/bash

docker exec -it <容器id> /bin/bash  

這樣你就進到這個container 裏面了,這個bash退出也不會影響以前 docker run 啓動的 bash

pipework br0192.168.1.170/24@192.168.1.1

十、製做能夠ssh登陸的本地Docker鏡像

安裝製做CentOS鏡像的工具:

yum -y install febootstrap

製做CentOS鏡像文件centos6-image目錄:

febootstrap -i bash -i wget -i

 yum -i iputils -i iproute -i man -i  vim-minimal -i openssh-server -i openssh-clients centos6 centos6-image http://mirrors.aliyun.com/centos/6/os/x86_64/

製做Docker鏡像,鏡像名字是centos6-base:

cd centos6-image && tar -c .|docker import - centos6-base

製做能夠ssh登錄的Docker鏡像,名字是centos6-ssh:

docker build -t centos6-ssh https://git.oschina.net/feedao/Docker_shell/raw/start/Dockerfile

通過前面的六個步驟,一個能夠登錄的本地docker鏡像就製做好了。

用戶名是:root,密碼是:123456

做者:MagickKing連接:http://www.jianshu.com/p/c75f00182b4c來源:簡書著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
相關文章
相關標籤/搜索