もふもふ技術部

【入門】Dockerを使ってubuntuを動かしてみる


ちょい前にVagrantの使い方を覚えたところだったんですが、最近の仮想化はDockerだ!っていう声が大きくなってきたのでこっちもやってみることに。

DockerはVagrantに比べると仮想環境の起動が早いっていう話なんだけど、そもそも仕組みが違う。DockerはホストOSのLinuxカーネルを共有して動かすのに対して、VagrantはゲストOSのカーネルごと仮想化する点で異なるので、パフォーマンスに大きな違いが出るみたい。

実際色々調べてみると、同じ仮想化といえども若干用途の違いがあってVagrantの知識が無駄になるわけでもないみたい。

インストール

前述したようにDockerはLinuxカーネル上で動作するので通常はMac OSXでは動かせない。そこでMac OSX上にDockerサーバを立てて、その上でDockerを動かすというやりかたをする。

ここらへんを参考にした。
http://qiita.com/k2works/items/926c4a3f5798c47b4088
http://dev.classmethod.jp/tool/docker/getting-started-docker-on-osx/
http://qiita.com/tukiyo3/items/b0821c2ff8cfffaa7f4e

Mac用のインストーラーもあるけど愛用しているhomebrewを使う方法で行きます。homebrew自体のインストールについては割愛します。

homebrewを最新にしてdockerとboot2dockerをインストールする

ちなみにboot2dockerはdockerサーバを管理するもので、dockerはdockerクライアントです。前述した参考サイトにこの辺の概念が図解されているのでわかりやすかった。

Dockerサーバを初期化して起動

なんかエラーでたけど。何回かstopしたりdeleteしたりupしたりしているうちに発生しなくなった。理由はわからない。

エラーがでなかったときのログ。

環境変数を設定しろと言われているようなので言う通りにします。WEB上の情報をみるとDOCKER_HOSTは tcp://localhost:4243 にしろっていうもありましたが、それだと動かなかった。

環境変数の設定がうまくいってないと docker version でこんな感じになったみたい。

起動していることを確認

dockerサーバにSSHしてubuntuのイメージを取得し、ubuntuを起動してみる。

出来たあああああ!!
あれ、12.04?古くね?

余談

boot2docker ssh をしないで、docker run してて、しばらくあれれ??ってなってた。ご注意を。

The following two tabs change content below.
原田 敦

原田 敦

日本CAWのエンジニア。もふもふ部の部長。得意分野はRuby on Railsを使った小規模WEBアプリケーションを高速で開発すること。週末の楽しみは一人お菓子パーティー。三度の飯より小動物をもふもふするのが好きです。