遅ればせならDockerを試してみた

先日のLinuxCon Japanでも話題になっていたDockerを遅ればせなら試してみた。
拍子抜けするほど簡単だった。誰かが用意してくれたものを使うだけなら。

Ubuntu 14.04 でのDockerのインストール

$ sudo apt-get install docker.io

これだけ。

busyboxの小さなルートファイルシステムを動かす

$ sudo docker.io run -i -t busybox /bin/sh

これだけで、自動でbusyboxのルートファイルシステムをダウンロードしてきて起動してくれる。
しばらく待っているとダウンロードが完了して/bin/shのプロンプトが出た。

/ # ls -l /bin/sh
lrwxrwxrwx    1 root     root             7 May 22 23:22 /bin/sh -> busybox
/ #

確かにbusyboxのルートファイルシステムが動いている。
同様にubuntuのルートファイルシステムを動かすには以下のようにすればよい。

$ sudo docker.io run -i -t ubuntu /bin/bash

簡単すぎた。これは楽だ。なるほどみんなが騒ぐわけだ。

Qemuを使ってARMのルートファイルシステムをDockerで動かす

Debian armhfなDocker imageを作ってみた - kotakのひまじめ日記
このページの通りにやったらできた。

dockerをsudo無しで使う

ユーザーがdockerのgroup権限があればsudoが不要になる。
ユーザー(koba)をdockerのgroupに入れるには

$ sudo addgroup koba docker

次にログインしたときに有効になる。

補足

Debian/Ubuntu ではすでにdockerという別のコマンドがあるため、パッケージ名とコマンド名がdocker.ioに変更されている。これをdockerの名前で使えるようにするための方法は以下に書いてある。
本家サイトのUbuntuのインストール方法

Dockerは何がうれしいのかがよくわかる記事。
Docker: Linuxコンテナを使ってアプリケーションの配置を支援する

Dockerの中が少しわかる記事。
Dockerが利用しているAUFSとLXC - $shibayu36->blog;

DockerはGo言語で書かれていてそのソースはgithubで公開されている。
https://github.com/dotcloud/docker
dockerのコマンドの頭のソースはdocker/docker.go