Microを一緒に使うには?Dockerとは何か?Dockerはコンテナを使用したアプリケーションの作成、デプロイ、実行を容易にするプラットフォームです。コンテナには実行に必要なすべてのソフトウェアがバンドルされます。必要な依存関係をパッケージすることにより、細かな構成の相違に関係なく、あらゆるマシンで容易に実行することが可能です。慣れているのであれば、そのコンセプトは基本的には似たものになりますが、より軽量でありホストマシンを有効活用することができます。VMがオペレーティングシステム全体を持つのに対して、コンテナはホスト・オペレーティングシステム上で実行される分離されたプロセスとなります。Dockerは主にLinuxマシン向けに作られていますが、WindowsおよびMac向けのものも利用可能です。コンテナはDockerイメージから開始します。Serverとアプリケーションのように、実行に必要なプロセスとファイルを定義した階層構造になっています。Dockerイメージは階層構造となっているため、各階層で定義されたファイルは異なるイメージとコンテナで読み取り専用の形で共有されます。各コンテナはこれらのファイルの変更履歴をコンテナが存在する間維持します。コンテナを再作成しても残る永続的なデータ、例えばデータベースが必要であれば、ボリュームを使用することになります。Dockerアーキテクチャまず、コンテナを実際に実行するDockerエンジンがあります。Dockerエンジンはイメージ、コンテナ、ネットワーク、ストレージ・ボリュームをホストするデーモン・プロセスです。Dockerエンジンはプロセスを独立した形で動作させることができます。一つ、Dockerエンジンのデーモン・プロセスを制御するDockerクライアントがあります。イメージを作成するのと同様に、コマンドをクライアント経由で送信してコンテナを起動・停止することができます。クライアントとデーモン・プロセスはRESTで通信します。APIのJava実装などもあります。基本的なDockerコマンドそれでは、コマンドライン・ツールを用いてDockerクライアントを詳しく見てゆきましょう。Dockerをインストールしていない場合は、Dockerの公式インストールページ.をご覧ください。コミュニティ版をLinuxマシンにインストールする方法やWindowsまたはMac上でDockerデスクトップを使用する方法についての詳しい情報があります。すべて正しくインストールされ、起動し、実行されていることを確認するため、コマンドラインから以下のコマンドを実行してください。infoインストレーションに関する情報が表示されます。ここで、infoはDockerエンジンのデーモンに送信されるコマンドです。その他いくつかの重要なコマンドを以下に示します。必要に応じてDockerイメージをダウンロードし、イメージから新しいコンテナを作成して起動します。Dockerエンジンによって管理されているすべてのコンテナの一覧を取得します。コンテナを停止します。変更内容はファイルシステム上に保持されます。コンテナを起動します。停止しているコンテナを削除します。このコマンドを実行すると、コンテナ・ファイルシステムのすべての変更内容が失われます。各コマンドには指定可能なオプションが多数あります。それらの詳細および他のコマンドにつきましては、Dockerの公式ドキュメントまたはPayaraのDockerガイドをご覧ください。Hubからダウンロード可能です。HubはDockerイメージをストアして共有するためのリポジトリです。Hub上のこれらのイメージを使用して直接コンテナを起動することができます。これらのイメージは拡張することも可能で、必要に応じてカスタマイズしてそれを使用することもできます。次のセクションでは、これらのイメージの使用例をご覧いただきたいと思います。Dockerイメージは商用環境向けに最適化されてはいますが、開発環境で用いることももちろん可能です。Serverを起動してみましょう。payara/server-full:5.184オプションとして以下のものを指定しました。Serverを実行するプロセスのポートの対応付けを行います。(Dockerの分離特性の一部です)。このケースでは、管理コンソールのエンドポイントとアプリケーションが使用するHTTPリスナーのデフォルト値と同じポートをローカル・マシンに対応付けています。コンテナに名前を付けることができます。