Rackspace Cloud

Rackspace が提供する Ubuntu に Docker をインストールするのは、かなり単純です。ほとんどの場合、Ubuntu インストール・ガイドの後に読むべきでしょう。

ですが、警告が1つあります。

これまで 3.8 カーネルの Linux 使っていなければ、インストールが必要になります。Rackspace 上では少々難しいものです。

Rackspace はサーバを grub の menu.lst からブートします。しかし virtual のような kernel パッケージではないため(例:Xen 互換)、別の作業を行います。update-grub は期待通りの動作をしないため、カーネルを手動で設定する必要があります。

プロダクション用のマシンで作業しないでください!

# apt を更新
$ apt-get update

# 新しいカーネルをインストール
$ apt-get install linux-generic-lts-raring

これで /boot/ にカーネルがインストールされました。それから、次回ブート時に読み込むようにします。

# 正確な名前を把握
$ find /boot/ -name '*3.8*'

# ここに何らかの結果が表示されます

次は /boot/grub/menu.lst を手動で編集すると、既存のオプションの下にセクションが追加されているのが分かります。新しいカーネルの情報を上のほうにコピーして置き換えます。新しいカーネルが上にきているのを確認し、kernel と initrd が正しいファイルを指し示しているかダブルチェックします。

特に kernel と initrd のエントリが正しいかどうか、気をつけてダブルチェックします。

# /boot/grub/menu.lst を編集します。
$ vi /boot/grub/menu.lst

ファイルの内容は、おおよそ次の通りです。

## ## End Default Options ##

title              Ubuntu 12.04.2 LTS, kernel 3.8.x generic
root               (hd0)
kernel             /boot/vmlinuz-3.8.0-19-generic root=/dev/xvda1 ro quiet splash console=hvc0
initrd             /boot/initrd.img-3.8.0-19-generic

title              Ubuntu 12.04.2 LTS, kernel 3.2.0-38-virtual
root               (hd0)
kernel             /boot/vmlinuz-3.2.0-38-virtual root=/dev/xvda1 ro quiet splash console=hvc0
initrd             /boot/initrd.img-3.2.0-38-virtual

title              Ubuntu 12.04.2 LTS, kernel 3.2.0-38-virtual (recovery mode)
root               (hd0)
kernel             /boot/vmlinuz-3.2.0-38-virtual root=/dev/xvda1 ro quiet splash  single
initrd             /boot/initrd.img-3.2.0-38-virtual

サーバを再起動します(コマンドラインかコンソールを使います)。

# reboot

カーネルのアップデートを確認します。

$ uname -a
# Linux docker-12-04 3.8.0-19-generic #30~precise1-Ubuntu SMP Wed May 1 22:26:36 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

# 大丈夫です! 3.8 ですね。

終わったら Ubuntu の手順に進みます。