Centos6.5安装/运行/启动/登录docker

前置条件

  • Linux系统
  • 64位系统
  • 支持aufs或者DeviceMapper等存储驱动(我们在这里使用aufs)

升级内核

检查是否支持aufs,centos6.5和RHEL6.5的2.6内核不支持aufs,所以需要升级到已经支持aufs的3.1,如果是使用的centos7,那就已经支持了这个功能

检查是否支持aufs

[root@entel1 /]# grep aufs /proc/filesystems
nodev   aufs

检查内核版本

使用uname –r或者查看/etc/grub.conf

找:title CentOS (3.10.5-3.el6.x86_64)

要求3.8及3.8+以上的内核

[root@entel1 /]# uname -r
3.10.5-3.el6.x86_64
[root@entel1 /]# 
[root@entel1 /]# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,1)
# kernel /vmlinuz-version ro root=/dev/mapper/vg00-lvroot
# initrd /initrd-[generic-]version.img
#boot=/dev/sda1
device (hd0) HD(1,800,400000,38768c38-56a9-494e-8527-5f410e905353)
default=0
timeout=5
splashimage=(hd0,1)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.5-3.el6.x86_64)
    root (hd0,1)
    kernel /vmlinuz-3.10.5-3.el6.x86_64 ro root=/dev/mapper/vg00-lvroot rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg00/lvroot rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg00/lvswap crashkernel=128M  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /initramfs-3.10.5-3.el6.x86_64.img
title CentOS (2.6.32-431.el6.x86_64)
    root (hd0,1)
    kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg00-lvroot rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg00/lvroot rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg00/lvswap crashkernel=128M  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-431.el6.x86_64.img
[root@entel1 /]# 

升级内核

如果不支持,请升级内核

地址:http://down.51cto.com/data/1903250

或者:

http://www.hop5.in/yum/el6/kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm

http://www.hop5.in/yum/el6/kernel-ml-aufs-devel-3.10.5-3.el6.x86_64.rpm

包括:

  • kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm.gz
  • kernel-ml-aufs-devel-3.10.5-3.el6.x86_64.rpm.gz

安装:

yum install kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm

或者

rpm -ivh kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm
rpm -ivh kernel-ml-aufs-devel-3.10.5-3.el6.x86_64.rpm

修改grub的主配置文件/etc/grub.conf,设置default=0,表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置),如果不是第一个位置,请根据具体的位置修改

这里写图片描述

安装完成后,重启系统

reboot

重启后检查内核与aufs支持情况

[root@entel1 /]# uname -r
3.10.5-3.el6.x86_64
[root@entel1 /]# 

OK升级完成

安装Docker

联网安装

如果Linux主机能够连接互联网,那恭喜你,这个方法很简单

1、首先关闭selinux:

setenforce 0
sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config

2、在Fedora EPEL源中已经提供了docker-io包,下载安装epel:

rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo

或者http://dl.fedoraproject.org/pub/epel/6/x86_64/docker-io-1.7.1-2.el6.x86_64.rpm

3、yum安装docker-io:

yum -y install docker-io

4、启动docker:

service docker start

首次启动还会自动配置cgconfig

5、查看docker版本

[root@entel1 /]# 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

本地安装

如果Linux主机不能连接互联网,方案如下(需要安装很多很多rpm包)
我的就是联网……..o(╯□╰)o

1、首先关闭selinux:

setenforce 0
sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config

2.下载需要安装的支持包

地址:https://pkgs.org/centos-6/centos-x86_64/

bridge-utils-1.2-10.el6.x86_64.rpm
device-mapper-1.02.117-7.el6.x86_64.rpm
device-mapper-event-1.02.117-7.el6.x86_64.rpm
device-mapper-event-libs-1.02.117-7.el6.x86_64.rpm
device-mapper-libs-1.02.117-7.el6.x86_64.rpm
docker-io-1.7.1-2.el6.x86_64.rpm
iproute-2.6.32-130.el6ost.netns.2.x86_64.rpm
iproute-2.6.32-54.el6.x86_64.rpm
iproute-devel-2.6.32-54.el6.x86_64.rpm
iproute-doc-2.6.32-54.el6.x86_64.rpm
kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm
kernel-ml-aufs-devel-3.10.5-3.el6.x86_64.rpm
libcgroup-0.40.rc1-17.el6_7.x86_64.rpm
lua-alt-getopt-0.7.0-1.el6.noarch.rpm
lua-filesystem-1.4.2-1.el6.x86_64.rpm lua-lxc-1.0.8-1.el6.x86_64.rpm
lxc-1.0.8-1.el6.x86_64.rpm lxc-libs-1.0.8-1.el6.x86_64.rpm
xz-4.999.9-0.5.beta.20091007git.el6.x86_64.rpm
xz-libs-4.999.9-0.3.beta.20091007git.el5.x86_64.rpm
xz-libs-4.999.9-0.5.beta.20091007git.el6.x86_64.rpm
xz-lzma-compat-4.999.9-0.5.beta.20091007git.el6.x86_64.rpm

相同功能的包一起装:
比如安装lxc:

rpm –Uvh lxc-libs-1.0.8-1.el6.x86_64.rpm  lxc-1.0.8-1.el6.x86_64.rpm

这样可以避免出现包依赖的问题,其他的包类似,请珍重……

3、启动docker:

service docker start

4、查看docker版本

[root@entel1 /]# 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 run -it --ipc=host -h=xiaogongjiang --name xiaogongjiang --net=none entel_base_image:withtt_oracle /usr/sbin/sshd –D

说明:

  1. Ipc=host:容器内部需要使用宿主机的内存配置参数,如TT,QMDB
  2. h=xiaogongjiang :设置主机的hostname
  3. name xiaogongjiang :设置容器名称为xiaogongjiang
  4. /usr/sbin/sshd:启动ssh服务
  5. net=none 不设置容器ip
  6. 其他参数通过docker run –help查看说明

新增网桥

Docker早期的4种网络模式:

Bridge模式:默认模式,为容器分配namespace、网卡和IP等,并连接到宿主机的虚拟网桥(docker0)

HOST模式:使用宿主机namespace、IP和端口

Container模式:使用已经存在容器的namespace、IP和端口

None模式:容器拥有自己的namespace,需要另外添加网卡、配置IP等

因为没有使用容器自己分配的IP。所以需要新增网桥

详见 为宿主机新增一个网桥bridge0,并且配置iptables

分配IP

创建容器时是使用的不分配ip的方式(net=none),这里脚本手动配置一个ip

详见调用脚本手工分配IP

连接容器

如果使用docker自带的attach命令进入容器,退出时会导致容器也关闭,并且多用户登录时只能有一个用户操作
改用这里使用创建容器时启动的ssh服务
如果该服务停掉了,使用如下命令启动:

docker exec -it Countainer_id /usr/sbin/sshd –D

注意替换对应的 Countainer_id

ssh登录:

[root@entel1 ~]# ssh 172.25.243.103
root@172.25.243.103's password: 
Last login: Tue Oct 11 03:15:07 2016 from 10.45.40.231
root@/root>
相关文章
相关标签/搜索