欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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

发布时间:2025/3/21 123 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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 quietinitrd /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 quietinitrd /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

说明:

  • Ipc=host:容器内部需要使用宿主机的内存配置参数,如TT,QMDB
  • h=xiaogongjiang :设置主机的hostname
  • name xiaogongjiang :设置容器名称为xiaogongjiang
  • /usr/sbin/sshd:启动ssh服务
  • net=none 不设置容器ip
  • 其他参数通过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>

    总结

    以上是生活随笔为你收集整理的Centos6.5安装/运行/启动/登录docker的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。