はじめに

Docker はまだ使ったことないけど、とにかく使いたい、使ってみたいという方へ向けて利用例の一部をご紹介します。 この記事を読んで Docker の学習の足がかりになれば幸いです。 またこの記事は Mac を対象に書いています。ご了承ください。

下ごしらえ

VirtualBox のインストール : こちらから最新バージョンをインストールしてください。

Docker のインストール : brew install docker するか、こちらからインストーラーをダウンロードして実行してください。

Docker 用 VM の作成

Mac の場合 Docker は VirtualBox 上の VM で動きます。 この VM に default と名前をつけて作成するコマンドは次のとおりです。

docker-machine create -d virtualbox default

Docker 用 VM の使用準備

今は VirtualBox 上に 1 台しか Docker 用 VM はありませんが、この VirtualBox などのローカル環境や AWS、DigitalOcean などのクラウドに複数個持てます。 そのため、どの Docker 用 VM に接続するかを明示的に指定する必要があります。 先ほど作成した default という名前の VM に接続するよう指定するコマンドは次のとおりです。

eval "$(docker-machine env default)"

準備ができたら動作確認をしてみましょう。次のコマンドを 実行してそれっぽいメッセージが出てきたら成功です。

docker run hello-world

Docker で CentOS コンテナを使ってみる

次のコマンドで使えます。

docker run -it centos /bin/bash

docker run をすると都度コンテナが立ち上がります。 つまり変更内容はこの方法では 引き継げません。

exit コマンドや Ctrl- d ではコンテナが終了してしまいます。 コンテナを終了せずに Mac に 戻ってくるためには下記コマンドを実行します。

Ctrl + q + p

稼働中のコンテナを確認するコマンドは次のとおりです。

docker ps

また、停止中のコンテナを確認するためには a オプションを付けます。

docker ps -a

停止したコンテナをまた使いたい場合は、コンテナを稼働させてから接続します。 コマンドは下記のとおりです。コンテナ ID は docker ps コマンドで調べてください。

docker start コンテナID
docker attach コンテナID

※ docker attach の後、何も出力されない場合は Enter を空打ちしてみてください。 また、コンテナ ID は長い文字列が出力されるはずですが、一意に特定できれば先頭 3 文字でも大丈夫です。

稼働中のコンテナをまた使いたい場合は下記のとおりです。

docker attach コンテナID

開発環境として使う場合

詳しい説明は省かせていいただ きますが、docker-compose コマンドを使うと便利です。 docker-compose では複数のコンテナを操作できます。 リンクの公式のガイドでは Rails アプリ用コンテナと DB 用のコンテナを 2 つ用意して、開発環境を構築しています。

Docker で開発環境を構築 することで共同開発者と環境を簡単に合わせられるのがメリットだと思います。