一.介绍

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)

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

阅读全文→