仕事でDocker
を久しぶりに使うことになったので、確認のために書いておこうと思います。
Docker とは?
「コンテナ化プラットフォーム」...らしいです。
まあ、「コンテナ化プラットフォーム」と言われても、よくわからないので、もっと別の書き方をすると...
対比される例としては、VM Ware
があると思います。
VM Ware
は仮想OS を立てるためのアプリなのですが、VM Ware
のアプリケーション内で Webアプリを実行しようとすると、仮想OS を立てて、その中で Webサーバーを立て、webアプリを実行する、という構図になると思います。
Docker
で Webアプリを実行する場合は、Webアプリをdockerイメージ
に変換して、dockerイメージ
を実行すると、コンテナが作成され、Webアプリが実行されます。
対比関係で言うと、Docker
=VM Ware
、コンテナ
≒仮想OS
docker-compose について
以前、GROWI
という、Wiki みたいなサイトの起動のためにdocker-compose
を使用したことがあり、純粋なDocker
と何が違うのか、と疑問に思っていたのですが、
docker-compose
は「複数のコンテナを定義し実行する Docker アプリケーションのためのツール」とのことです。。。
つまり、Docker
を操作するためのツール、ということかと思います。
Docker
とdocker-compose
の違いとしてで言えば、docker-compose
はDocker
の補助機能がある、みたいに考えれば良いかと思います。
因みに、docker-compose
にした方が良いとされるケースですが、コンテナをまとめて起動できたり、追加ソフトのインストールが簡単だったり...とかはあるみたいですが、特別、docker-compose
を使いたい!みたいな理由がなければ、純粋なDocker
の使用で十分かなと思います。