タイトルは全くイミフです
Debian wheezy でdockerを使う
> lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.3 (wheezy)
Release: 7.3
Codename: wheezy
今のところ公式のサポートはないので茨道ですが、徐々に茨道感が下がってきているようです。
やるべきことをざっと並べておきます。Ubuntuであればlxc-dockerが大体やってくれることを自分でやれ、ということになります。場合によってはパッケージを持ってくる方が楽かもしれない
- lxcは自分で入れろ?
- cgroupも自分で設定しろ?
- dockerデーモンを自分で立てろ?
- Go 1.2 入れておけ?
- 1.0.2 ですと go install で止まるようです
# 言い換えると「Go言語で書かれ、配下にLXCという仮想化ソフトを用いるdockerというソフトを動かすため、言語処理系と外部のソフトや設定を調整しろ」という話になります。この線で調べていくと、逆に言うと不足が感じ取れるようになるかもしれません。
昔はカーネル周りでもう少しめんどかったらしいですが、このくらいでなんとかしてもらえる、感じ。
環境毎に異なるので頑張って調べて下さい、としか言えませぬ。
参考: https://coderwall.com/p/wpst1w
そしてdocker兄が立ちふさがる
docker -d が起動して sudo なしでデーモンと更新できるところまでやって「やったー」と思い、
最後にUbuntu 13.10から奪ってきた /etc/init.d/docker をDebianに無理やりぶち込みこれで終わりと思いきや、
動かない。だんまり。startしてもプロセスがいない。
一体何故。
そこでstart-stop-daemonの--no-closeオプション(デーモン化した後でもログを元のターミナルに吐き出し続ける。デバッグ用)を使用してdaemonのログを無理やり覗き込みますと、
どう見ても「知らない」dockerのヘルプメッセージが出て止まっております。
なんだろうねこれ……
あーっ
> LANG=C apt-cache show docker
Package: docker
Version: 1.4-5
Installed-Size: 88
Maintainer: Ari Pollak <ari@debian.org>
Architecture: amd64
Depends: libc6 (>= 2.7-1), libglib2.0-0 (>= 2.12.0), libx11-6
Description-en: System tray for KDE3/GNOME2 docklet applications
Docker is a docking application (WindowMaker dock app) which acts as a system
tray for any desktop environment, allowing you to have a system tray without
running the KDE/GNOME panel Docker was designed to work with Openbox 2, but it
should work fine in any window manager.
Description-md5: 032a37ba6228c22cbca1c0b960030eaa
Tag: interface::x11, role::program, scope::utility, suite::gnome,
suite::gnustep, suite::kde, uitoolkit::xlib, x11::applet,
x11::application
Section: x11
Priority: optional
Filename: pool/main/d/docker/docker_1.4-5_amd64.deb
Size: 13572
MD5sum: 3b36feebe0bbcd5e91b581b39e2eb166
SHA1: 059419c87789b1eae264a7e71c9e1cbfef1cfc04
SHA256: 34f5f86bbd437741d7c8738d4d1d82fd2beb2b2fa4110c1f9a236f705e640f04
お前じゃない。(sudo) apt-get remove docker...
ついでにPATH指定がまるまる間違ってました。
/usr/local/bin/docker を指すようにして、動くようになりましたとさ。
そもそもこれが入っているということは以前わけもわからずapt-get install dockerしてるよね私、みたいな。
なおUbuntu 13.10で入れるのは「lxc-docker」です。実は(パッケージ名としては)dockerではない。
まとめ
- 現時点では Debian (wheezy, 7.3) にdockerを導入するには自力でパッケージを構築するといった手間がある
- 生のdockerバイナリを持ってきて手動設定をすれば動作はするが、当然検証されていない
- Debianには"docker"というパッケージがあり、全く別の用途
- ぼんぼる。
- 1ヶ月も経てばこの記事の意味はなくなっているだろう