CentOS6 安装最新版Docker 17.03——自给自足,老树逢春

一.起因

其实吧,我目前大部分跑Docker的机器用的还都是CentOS7,毕竟因为方便点,不需要自己折腾,但是,有些时候还真是迫不得已。前阵子买了台Dacentec的大硬盘服务器,准备拿来跑另外一个Plex服务器的,顺便因为带了/29的ip所有打算拿来再搞点别的比如存储仓库和PT啥的,不过,在我装CentOS7的时候卡死在PXE装系统的步骤了,发了个工单得知了一个蛋疼的消息,就是这款超微的主板网卡驱动与CentOS7不兼容,所以导致我半天都装不上去。没办法了,只能装CentOS6了。

那么原本计划用来跑其他用途的Docker也只能通过编译的方法安装了,说实在话这个我心里还是有底的,毕竟之前折腾过,参见——>传送门

只是那次只是玩玩的,属于实验性质,不太靠谱,所以这次打算折腾个完全能用的方法出来。

二.方法

前半部分其实和原来的差不多,只是为了安装更新的版本所以有所变动。有一点需要注意,就是最新的Docker采用OverLay2作为存储驱动,这个我前一篇文章还提到过,所以对内核版本要求比较高,请务必在进行下面操作前安装新版本的内核,还能顺便启用BBR,参见——>传送门 阅读全文→

Centos6安装新版本Docker——套路大法

一.介绍

Centos6对于Docker的官方支持理论上来说只能算是勉强能用,因为只提供了基于1.7.1版本的docker-io,还得先装EPEL源,然而1.7.1版本很多功能都有缺失,至少到1.9才能算够用。

所以怎么办呢?按照以往的思路来说,官方源版本不够的程序当然是选择自己编译咯,但是!这个并不能行得通,至少不能直接行得通,为什么?因为Docker的编译需要在Docker中进行(是的,要先装Docker才能编译Docker,没毛病),然而在运行的参数中有个ARG,这个至少在1.9版本的Docker上才支持,所以……你在1.7.1的Docker的环境下编译只会收到"docker Step 1 : ARG Unknown instruction: ARG"的报错,然后就GG了。

二.解决方案

那么,怎么办呢?当然是想办法过渡一下,我在网上翻了不少东西,终于发现了一篇文章——>传送门

作者给了Docker官方的一个1.9.1版本的二进制文件下载地址,这个在Centos6上是能用的,作者表示他是直接用的,然后会发生无法修改配置的情况(因为真的只有一个文件,啥启动文件啊,配置文件啊,全都没有),但是捏,我想了个办法来移花接木。那就是先装1.7.1的,然后直接用1.9.1的文件替换1.7.1的,这样用了1.7.1的配置和各种启动文件,而程序本身确实1.9.1的

(有个前提条件,请确保你的内核版本高一点,我建议是直接上4.9的内核,配合BBR美滋滋,然后文件系统用OverlayFS也是很棒棒,详情查看——>传送门  我博客另外一篇为Docker定制内核的就别看了,那个太麻烦了,而且也是因为1.7.1没法用OverlayFS所以才选了AUFS)

好像有点绕?不用纠结,看命令

阅读全文→