美文网首页
centos6中离线安装docker

centos6中离线安装docker

作者: dc的梦呓 | 来源:发表于2020-09-01 16:02 被阅读0次

    遇到这么一种情况,服务器操作系统为centos6,但程序只能在cento7及以上的运行,但由于种种原因,不能重装操作系统。于是想到这么一种办法来解决:在centos6上装docker,在docker中运行centos7容器,程序在centos7上运行,试了下,可行。

    由于服务器是内网,因此需要离线安装docker,折腾了很久。以下为过程记录。

    1、准备工作

    cat /etc/redhat-release   #查看系统版本
    

    docker_rpm为已经下载好的离线包,解压后进入。

    cd docker_rpm
    rpm --import RPM-GPG-KEY-EPEL-6  #导入签名,否则后续安装某些包时可能会签名失败
    cd docker  #进入docker文件夹
    
    image.png

    查询libcgroup,没有的话需安装:

    rpm -q libcgroup
    rpm -ivh libcgroup-*   #若没有,安装
    

    2、安装若干个包

    进入后依次执行:

    rpm -ivh lxc-libs-1.0.10-2.el6.x86_64.rpm
    rpm -ivh lua-alt-getopt-0.7.0-1.el6.noarch.rpm
    rpm -ivh lua-filesystem-1.4.2-1.el6.x86_64.rpm
    rpm -ivh lua-lxc-1.0.10-2.el6.x86_64.rpm
    rpm -ivh lxc-1.0.10-2.el6.x86_64.rpm
    rpm -ivh docker-io-1.7.1-2.el6.x86_64.rpm
    

    3、卸载及安装 device-mapper

    cd device-mapper-libs
    rpm -ivh device-mapper-*  --force --nodeps
    

    若提示:warning: device-mapper-1.02.117-12.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
    需先导入centos6的签名:

    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    

    导入签名后再安装,若提示一些冲突:


    image.png

    查看已有的device-mapper,删除后再安装:

    rpm -qa |grep device-mapper  #查看
    cd ..   #先退出此目录后才能删除
    yum remove device-mapper-*   #删除
    cd device-mapper-libs  #再进入
    rpm -ivh device-mapper-*  --force --nodeps  #安装
    

    4、测试、运行

    报错及处理

    运行 docker -d 出现报错,Your kernel does not support cgroup memory limit: mountpoint for memory not found


    image.png

    解决方法如下:

    vi /etc/fstab  #打开
    

    在结尾添加:

    none        /cgroup        cgroup        defaults    0    0
    

    运行 mount -a 使挂载生效。
    再次运行 docker -d 正常。

    运行

    放至后台运行:

    mkidr /usr/local/docker
    cd /usr/local/docker
    nohup docker -d &   #后台运行
    tail -f nohup.out
    

    最后,service docker restart 发现报错失败,


    image.png

    检查状态

    /etc/init.d/cgconfig status
    

    若是stopped,运行以下进行启动:

    /etc/init.d/cgconfig restart
    

    再次运行 servcie docker restart 正常
    查看 cgconfig 服务是否开启:

    chkconfig --list cgconfig
    

    若没有则运行进行开启:

    chkconfig cgconfig on
    

    5、总结:

    至此在centos6上,离线安装docker完成。
    但其最高版本只能到 1.7.1,此版本有一些bug,比如docker cp命令不用能,只得用其它办法拷贝。
    centos最好能用7及以上,6太老了,遇到不兼容的软件就很麻烦。

    参考资料:
    https://www.cnblogs.com/hdulzt/p/7834312.html
    https://www.jianshu.com/p/beea3ae215e6

    相关文章

      网友评论

          本文标题:centos6中离线安装docker

          本文链接:https://www.haomeiwen.com/subject/hyxvsktx.html