XにDocker開発環境を構築し、Dockerイメージの取得とコンテナの起動・停止、イメージの作成方法およびレジストリへのアップなどdockerを利用し始めるにあたって、これだけは抑えておくべきという基本的な内容についてまとめてみました。Anywhere」と謳っているように、Dockerの仕組みでビルドされたアプリケーションは、Docker対応のプラットフォームであればどこでも簡単にデプロイできるようになります。PHPのWebアプリの場合を例にすると、gitによるソース・サブモジュールの管理、Composeによるパッケージ管理、さらにフロントまわりのパッケージはnpmで管理していたりとビルド、デプロイのプロセスはかなり複雑になっています。EEの世界でアプリをWarファイルに固めてアプリケーション・サーバーにデプロイするような感覚で、開発環境でビルドしたものをテストし本番へデプロイすることが可能になります。デプロイのプロセスが簡単になると、PaaSを利用する際に、PaaSごとの違いをDockerが吸収してくれるので、新しいPaaSを試す時などは、固有の仕組みを覚えるコストが小さく済みそうです。Docker」に説明があります。architecture」にまとまっています。周辺ツールも増えてきて、なかなか全体像を説明するのも大変なので、ここではDockerそのものの説明は飛ばし、dockerコマンドを打つとDockerイメージを作ったり、自分で作ったイメージや公開されているイメージをコンテナとして起動して簡単にアプリが起動できるものだくらいにまずは抑えておいて、DockerHubに公開されている公式イメージを利用したDockerの使い方についてまとめました。Toolboxを利用できます。Toolboxは、開発に必要な以下のDocker関連ツールが含まれています。ToolboxよりインストーラDockerToolbox-1.8.2c.pkgをダウンロードして実行して、ウィザードに従ってインストールできます。(boot2dockerは2015.10現在は非推奨になっています。boot2dockerをすでに利用している場合は、インストーラが移行してくれます。Terminal”アイコンをクリックするとTerminalが起動してDockerホストのVMが起動します。defaultを利用するための環境変数がセットされた状態のTerminalを起動してくれるショートカットです。https://docs.docker.com/userguide/hello-worldイメージは、実行するとメッセージを表示するだけのイメージです。上記のように表示されれば正しくコンテナを起動できています。Terminalに出力されたメッセージからも確認できますが、初めて起動するイメージはDockerホストVM内に無いので、pull(Download)してからDockerコンテナが起動されています。stopコマンドを実行しなくても処理が終わるとコンテナは停止します。psコマンドを実行すると起動しているコンテナが無くなっていることが確認できます。B以上で、dockerイメージをリポジトリよりイメージをpullして、イメージからコンテナを起動し、停止するところまでつかめたかと思います。補足コマンドを実行するだけのdockerイメージの作成については以下のページが参考になります。hello-worldイメージが何をしているのか気になる方は参照すると良いと思います。docker-library/wordpress)を動かしてみます。mod_phpのイメージを試してみます。docker-library/mysql)を起動して、それをwordpressコンテナからアクセスするように指定します。MySQLのデータはコンテナの中に保存しておくとコンテナ停止と主に無くなってしまうので、Dockerホスト側に永続化します。動作環境の構成を図にすると以下のようになります。msyqlイメージのインポートと実行VirtualBox上で動いているdocker-machineのホストにログインして、MySQLのデータ用ディレクトリを作成します。sshコマンドにdocker-machine名(default)を指定するとsshログインできます。/my/own/datadirmysqlイメージを起動します。コンテナ名を明示的に指定しています。Wordpressコンテナからリンクする際にコンテナ名を指定します。MySQLコンテナのディレクトリ/var/lib/mysqlをDockerホストの/my/own/datadirにマウントします。containers」を参照。コンテナ名を明示的に指定しています。MySQLのコンテナmydbをWordpressのデータベースとしてするようにコンテナ名を指定します。together」を参照。DOCKER_HOST="tcp://192.168.99.101:2376"http://192.168.99.101:8080にアクセスするとWordpressのインストール画面が表示されますMySQLのデータはDockerホスト側のディスクに保存するようにしました。実際にMySQLのデータがホスト側のディレクトリに保存されているか確認してみます。performance_schema/確かにMySQLのデータファイルが書き込まれています。MySQLとWordpressのコンテナは、MySQL、Apacheのプロセスが停止しなければ起動したままになります。stopコマンドを使ってコンテナを停止します。defaultを利用して動作を確認してきましたが、docker-machineは新たに作成したり、VirtualBoxだけでなくAWSやDigitalOceanなどクラウド上に作成したりすることができます。docker-machineのコマンドについて、使い方についてメモしておきます。新しいdocker-machineの作成して利用をする手順default以外に新しくdocker-machineを作成、起動して、dockerコマンドの実行先を変更する手順をまとめてみました。<docker-machine名dd>)"以上で、新しく作成したdocker-machineを利用可能になります。subcommands」を参照ください。Driversにリストされている様々なプラットフォームのプロバイダーをサポートしています。ここでは、DigitalOcaenプロバイダの動作を確認してみます。Ocearnのシンガポールリージョンにdocker-machineを作成してみます。docker-machine)"以上で、dockerコマンドがDigitalOceanに作成したdocker-machine上で実行されるようになります。