前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos6.5安装/运行/启动/登录docker

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

作者头像
小小工匠
发布2021-08-16 11:03:40
8380
发布2021-08-16 11:03:40
举报
文章被收录于专栏:小工匠聊架构

前置条件

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

升级内核

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

检查是否支持aufs

代码语言:javascript
复制
[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+以上的内核

代码语言:javascript
复制
[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

安装:

代码语言:javascript
复制
yum install kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm 

或者

代码语言:javascript
复制
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(一般新安装的内核在第一个位置),如果不是第一个位置,请根据具体的位置修改

这里写图片描述
这里写图片描述

安装完成后,重启系统

代码语言:javascript
复制
reboot

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

代码语言:javascript
复制
[root@entel1 /]# uname -r
3.10.5-3.el6.x86_64
[root@entel1 /]# 

OK升级完成

安装Docker

联网安装

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

1、首先关闭selinux:

代码语言:javascript
复制
setenforce 0
代码语言:javascript
复制
sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config

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

代码语言:javascript
复制
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
代码语言:javascript
复制
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:

代码语言:javascript
复制
yum -y install docker-io

4、启动docker:

代码语言:javascript
复制
service docker start

首次启动还会自动配置cgconfig

5、查看docker版本

代码语言:javascript
复制
[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:

代码语言:javascript
复制
setenforce 0
代码语言:javascript
复制
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:

代码语言:javascript
复制
rpm –Uvh lxc-libs-1.0.8-1.el6.x86_64.rpm  lxc-1.0.8-1.el6.x86_64.rpm

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

3、启动docker:

代码语言:javascript
复制
service docker start

4、查看docker版本

代码语言:javascript
复制
[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

创建容器

代码语言:javascript
复制
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服务 如果该服务停掉了,使用如下命令启动:

代码语言:javascript
复制
docker exec -it Countainer_id /usr/sbin/sshd –D

注意替换对应的 Countainer_id

ssh登录:

代码语言:javascript
复制
[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>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/10/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前置条件
  • 升级内核
    • 检查是否支持aufs
      • 检查内核版本
        • 升级内核
        • 安装Docker
          • 联网安装
            • 1、首先关闭selinux:
            • 2、在Fedora EPEL源中已经提供了docker-io包,下载安装epel:
            • 3、yum安装docker-io:
            • 4、启动docker:
            • 5、查看docker版本
          • 本地安装
            • 1、首先关闭selinux:
            • 2.下载需要安装的支持包
            • 3、启动docker:
            • 4、查看docker版本
        • 创建容器
        • 新增网桥
        • 分配IP
        • 连接容器
        相关产品与服务
        容器镜像服务
        容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档