こんにちは、開発部山田です。
突然ですが、みなさんは「Docker」という開発環境があるのをご存知でしょうか。
私も去年の秋から試験的に運用を開始し、今では実際の開発現場で無くてはならないツールになりました。当時の状況と比べるとブログの記事が豊富になったり、書店の情報処理を専門にしている一角にDockerのインデックスがあったりと、随分と馴染みのある言葉になってきたと感じます。
今日はそんな開発環境、Dockerについてご紹介したいと思います。
Google TrendsでもDockerキーワードの人気度は以下のように増えてきています。注目度の高さが現れていますね。
Docker環境の整備
私は普段Mac Book Proで作業してるのですが、
インストールしたツールは下記の2つくらいですね。
VirtualBoxのインストール
Mac上で仮想環境を実行するためのソフトです。
下記のリンクからダウンロードできます。
VirtualBoxダウンロード
上記のリンクからVirtualBoxのページにアクセスしてOSX用のものをダウンロードします。
(基本的にデフォルトのままインストールしてOKです!)
Docker Toolboxのインストール
Dockerを利用するための複数のコンポーネントがまとまったツールです。
下記のリンクからダウンロードできます。
Docker Toolboxのダウンロード
上記のリンクからDocker ToolboxのページにアクセスしてMac用のものをダウンロードします。
下記以外は基本的にNextでOKです!
Select Components
⇒「VirtualBox」「Git for Windows」のチェックを外す
開発環境を作った当時は無かったのですが、今は「Docker for Mac」もあるみたいですね。。。
これはまたまとまった時間があるに使ってみたい。
Dockerの起動
Docker Toolboxをインストールすると、MacのDock内に下記のアイコンが出たはずです。
このアイコンをクリックして起動すると、ローカル環境用のIPや環境変数を全部設定した状態でDockerの環境が起動してくれます。
## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ \______ 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 bash: /Users/yamadanaoki/google-cloud-sdk/completion.bash.inc source ~/.bashrc: No such file or directory
こういうクジラのAAが出力されるはずです。
コンテナの作成
試しにコンテナを一つ作ってみましょう。
本当はDockerFile(プロジェクトの構成を一式書いたビルドファイル)を作成して一気にプロジェクトをビルドするのが実用的なのですが、それを書き出すと切りがないので、、、、
今回はDocker Hubから既存の環境をPullしてくる方法を紹介します!
Dockerコンテナをクラウドサービス上で共有できる「Docker Hub」というサービスがありまして(Git HubのDocker版のようなもの)、下記のリンクからサービスページが閲覧できます。
サイト右上のSearchの入力エリアに必要なコンテナ名を入れると、関連するさまざまコンテナが検索できます。ここでは “centos” と入れてみましょう。
そうするとCentOSについてのコンテナが一覧で表示されます。
ansibleの様な構成管理ツールが元から入ってるコンテナもありますが、ここでは公式のCentOSから提供されてるコンテナを選択します。
各コンテナの詳細画面にいくと、コンテナを自信の環境に導入するコマンド(docker pull)が記載されているので、そのままコピーしてMacのDcoker Toolbox上で実行します。
pullコマンド実行
>$ docker pull centos
これでMac上にひとつ仮想環境(CentOS)が構築されました。
VirtualBoxとDocker Toolboxは一度インストールするだけですので、後は必要なコンテナを追加して動かすだけという流れです。これくらいの手順でどんどんコンテナを追加していけるので、コマンドも複雑なコマンドもないので導入の敷居は低いかと思います。
皆さんもぜひDockerで新しい環境構築をしてみたください!!
以上、山田でした。