読者です 読者をやめる 読者になる 読者になる

だったら壁にでも話してろよ。

技術ネタはQiitaに移行したので、出口のない悩みや考えを垂れ流すことにします。

Ubuntu 14.04 へ Docker のインストール準備

最近、職場で Docker が熱い。ので、自宅でも立ててみる。

仕事を通じていろいろ調べさせてもらった結果、Docker は OS のカーネルに依存する部分が多く、そのバージョンとの相性が悪いと、いろいろ不具合が出るようだった。

CentOS 7 や、Ubuntu 14.10 で検証をした際にはとくに問題は出なかったのだが、それらより前のバージョンでは、何かしらの問題に遭遇した。なお、CentOS 6 系以前はもうお手上げなので取り上げない。

AWSインスタンスを作成しようとしたところ、提供されている AMI に Ubuntu 14.10 はないもよう。Ubuntu 公式で提供している AMI は LTS である 14.04 だった。そこで、このバージョンでの構築が多いであろうことを見越して、こいつでセットアップを進める。

まずは uname -rカーネルバージョンの確認。

$ uname -r
3.13.0-24-generic

3.13 系以前のカーネルだと、Docker 側で不具合が出るようなので、事前にバージョンを上げておく。apt-get のリポジトリ更新を済ませていない場合は、事前に sudo apt-get update を行っておく。

$ apt-cache search linux-image-3
...
linux-image-3.13.0-46-generic - Linux kernel image for version 3.13.0 on 64 bit x86 SMP
linux-image-3.13.0-46-lowlatency - Linux kernel image for version 3.13.0 on 64 bit x86 SMP
linux-image-3.16.0-25-generic - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-25-lowlatency - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-26-generic - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-26-lowlatency - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-28-generic - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-28-lowlatency - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-29-generic - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-29-lowlatency - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-30-generic - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-30-lowlatency - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-31-generic - Linux kernel image for version 3.16.0 on 64 bit x86 SMP
linux-image-3.16.0-31-lowlatency - Linux kernel image for version 3.16.0 on 64 bit x86 SMP

一番新しいのを入れてしまおうと思う。

$ sudo apt-get install linux-image-3.16.0-31-generic
$ uname -r
3.13.0-24-generic

まだ更新が反映されていないようなので、再起動する。

$ sudo reboot
$ uname -r
3.16.0-31-generic

更新された。これで安心して Docker のインストールをはじめられる。なお、カーネルバージョンの更新は Docker セットアップのあとでも問題ない。

念のため、今回の検証環境

$ uname -a
Linux ubuntu 3.16.0-31-generic #41~14.04.1-Ubuntu SMP Wed Feb 11 19:30:13 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

参考