トップ «前日 最新 翌日» 編集
RSS feed

ただのにっき


2013-12-13(金) [長年日記]

Dockerで自分専用のDebianイメージを作る

春ごろからDockerのことをちょくちょく目にするようになって(ということは今さらいちいち説明しなくても良いということだ)、触ってみないとなーと思いつつもう12月だ。モチベーションが上がらなかったのは、自分がクラウド上に同一イメージのサーバをばんばん作っては壊すような仕事をしているわけじゃないというのが大きくて、学んだところで使うあてのない技術は後回しになって当然だ。

しかし、naoyaさんのポータブルなWebアプリケーションという記事を読んでピンときたので、ようやく重い腰を上げた。ホビーで書いてるプログラムはあいかわらず個人ないし小規模なグループで使うことを前提にすることの多いおれみたいな人が、サーバアプリケーションを簡単に配布できる仕掛けとしてDockerのようなコンテナ型仮想マシンを用意するという未来はけっこうアリじゃね?

いつも使いのDebianへの導入はDebian(wheezy)でdockerを動かす。 - .h2oのお気楽日記を参考にした(たぶん公式サイトのUbuntu用のインストール解説と同じ手順)。あとは触ってみるだけなんだけど、日本語でまとまってるブログ記事なんかはどれも微妙に省略されてたりしてよくわからん感じなので、公式サイトのInteractive commandline tutorialをやってみたらこれがすげーわかりやすいの。いやー、こんなすばらしいチュートリアルは初めてみたよ。というわけでざっくり理解したので、自分のイメージを作りたい……のだが。

Docker IndexをみるとubuntuはDockerの公式イメージがあるみたいだけど、Debianのはない。個々のユーザが公開しているのはあるみたいだけど、いやいや、どこの馬の骨が作ったのかもわからんようなOSイメージなんて使わんだろふつー。

というわけで、Dockerのイメージをゼロから作る方法を探す旅へ(いきなり寄り道)。そんな面倒な話ではなく、Githubにdotcloud/docker-debianという公式リポジトリがあり、そこにcontrib/mkimage-debian.shというコマンドがあるのだった。これを実行すれば良い:

% sudo ./mkimage-debian.sh tdtds/debian wheezy
...けっこう待たされる...
% sudo docker images
REPOSITORY    TAG       IMAGE ID        CREATED             VIRTUAL SIZE
tdtds/debian  latest    fd6347c9b5d1    About an hour ago   154.3 MB
tdtds/debian  wheezy    fd6347c9b5d1    About an hour ago   154.3 MB
tdtds/debian  7.2       fd6347c9b5d1    About an hour ago   154.3 MB
% sudo docker run tdtds/debian echo hello!
WARNING: IPv4 forwarding is disabled.
hello!

できた。「IPv4 forwarding is disabled」はよくわからんのであとで調べる。あとはこれをDocker Indexに登録しておけばどこからでも入手できるようになるのかな:

% sudo docker push tdtds/debian
...Docker Indexのユーザ名/パスワードなどが聞かれる...

で、こんな感じに。

画像の説明

ついでに、Docker 0.7で実行するとtagコマンドの書式に非互換があると怒られるので、修正したものをpull requestしておいて、今日はここまで。

Tags: docker

トップ «前日 最新 翌日» 編集
RSS feed