docker-composeのススメ

GMOインサイトのインフラ担当Mです。

皆さん、Docker使っていらっしゃいますか?
本日は皆さんのDocker Lifeをより豊かにしてくれる
docker-composeについて綴ってみたいと思います。

docker-composeとは

Dockerで複数のコンテナを連携させてサービスを提供する場合、
コンテナを立ち上げる順番などの管理が煩雑になる場合があります。

docker-composeを利用すると、専用の設定ファイルを使って複数のコンテナを
まとめて、かつ簡易に扱うことが可能になります。

docker-composeの設定ファイル

docker-composeの設定ファイルはYAML書式で記載されており、
可読性が高いことも利点です。

例として、Redmineを起動する設定ファイルを提示します。
これはDBとしてmysqlを利用し、mysqlのデータはBusyBoxに保存するというものです。

煩雑な設定が綺麗な形でまとまるのがおわかりいただけるかと思います。

docker-composeの導入

docker-composeのインストール手順についてはDocker公式にて記載があります。

https://docs.docker.com/compose/install/

見ていただければわかるとおりに至極簡単です。

これでdocker-composeコマンドが実行出来るようになります。

あとは実行したい設定ファイルが存在するディレクトリにて
docker-composeコマンドを実行するだけです。

たとえばコンテナを起動する場合であれば

という形で実行すればコンテナ群が起動します。

逆に終了する場合は

という形で実行すれば、関連のコンテナ群がまとめて停止してくれます。
コンテナイメージのPullなどもおこなってくれるため、とても便利です。

まとめ

dockerの目玉は複数の機能をもったコンテナを組み合わせてサービスを構築することですが
docker-composeを利用することで、この思想に沿ったdocker運用が効率的に行えるようになります。

全体的な管理という意味でもYAMLファイルにまとまっているのが大きな利点だと考えます。
ガリガリとdockerを使っていきたい場合には必須の機能かと思いますので
是非、お試しください。