はじめに
前回まではVagrantについて中心に書いてきましたが、今回はdockerについて書きたいと思います。
私自身もよく理解できていなかったのですが、よくある疑問としてVagrantとdockerって何が違うの?というのがあります。
そもそも仮想化にはホスト型、 ハイパーバイザー型、コンテナー型という種類があります。それぞれ簡単に説明します。
動作確認環境
- OS:OS X Yosemite 10.10.5
- VirtualBox:5.0.10
- Docker:1.9.1
ホスト型
ホストOS(たとえばMac)に仮想化ソフト(たとえばVirtualBox)をインストールして、その仮想化ソフト上でゲストOSを動作させる方式です。
ちなみに仮想化ソフト上でゲストOS、たとえばCentOSなどを自分でインストールしようとすると、少し手間がかかります。それを簡単にしてくれるツールがVagrantです。Vagrantfileという設定ファイルを使用して、コマンドラインから簡単に仮想マシンを作成することができます。
ハイパーバイザー型
ハードウェアに独自の仮想化管理ソフトウェアである「ハイパーバイザー」を配置して、ホストOSなしで仮想化を行う方式です。Microsoft Windows ServerのHyper-Vなどがあります。
コンテナ型
ホスト型やハイパーバイザー型のようにOSやハイパーバイザーの上で、仮想OSを動かすと、多くのリソースを消費しがちになってしまうが、ホストOS上にあらかじめ論理的な区画(コンテナ)をつくり、ホストOS側からみて、一つのプロセスだと認識させることで、オーバーヘッドが少なくした仮想化技術のことです。dockerはまさにコンテナ型の仮想化技術です。
インストール方法
いろいろと説明しましたが、まずはインストールして使ってみたほうがいいと思います。 では、さっそくインストールしてみましょう。 ちなみに詳しいインストール方法については公式で詳しく説明してあるので、そちらをみてもらったほうが確実に早いですね。
以下、自分用の備忘録のようなつもりで記載します。
- VirtualBoxが起動中の場合は終了させておく
-
Docker Toolboxを下記のURLからダウンロードし、インストールする
https://www.docker.com/products/docker-toolbox -
インストール完了後、”Docker Quickstart Terminal.app” を実行する
-
実行すると、ターミナルが自動で立ち上がり、defaultというバーチャルマシンが起動します。dockerのマスコットキャラクター「Moby Dock」が現われるはずです。
## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\_______/ docker is configured to use the default machine with IP 192.168.99.100 For help getting started, check out the docs at https://docs.docker.com
- セットアップが正常に完了しているか確認するためにDockerコンテナを作成してみましょう。公式に説明されている「hello-world」コンテナを試してみましょう。
docker run hello-world => Hello from Docker. This message shows that your installation appears to be working correctly.
インストールに成功しているようです。
-
次はUbuntuのDockerイメージを使って、Dockerコンテナを作成し、作成したコンテナの中でHello worldを表示させてみましょう。
#docker run
<実行させるコマンド> docker run ubuntu:latest /bin/echo 'hello world' => hello world 上記のコマンドを実行すると、まずローカルにubuntuイメージがあるかを確認します。
もしubuntuイメージがない場合は、DockerリポジトリからDockerイメージを探し、ダウンロードしてきます。
ダウンロード後、コンテナが動き出し、echoコマンドが実行されるという流れです。