Docker Composeとボリュームの基礎を学ぼう

これまでの連載では、Dockerの基本やコマンド操作を学び、nginxのWebサーバを起動するところまで体験してきました。

今回は最終章として、より実践的な開発環境を構築するために欠かせない Docker Composeボリューム の基礎を解説します。

Docker Composeとは?

Docker Compose は、複数のコンテナを簡単にまとめて起動・管理できるツールです。
例えばWebサーバ(nginx)+アプリケーション(Node.jsなど)+DB(MySQL)といった構成を、1つの設定ファイル(docker-compose.yml)で定義できます。

Composeを使うメリット

  • 複数のサービスをまとめて起動・停止できる
  • 設定をコードで管理できる(Infrastructure as Code)
  • 他の開発者と環境構成を共有しやすい

docker-compose.ymlの実用構成(nginx + PHP + MySQL)

以下は、nginxとPHP、MySQLを連携して構築する実例です:

この構成では、nginxphp-fpm を経由してアプリケーションを実行し、MySQL にデータを保存します。

Composeで起動してみよう

設定が完了したら、以下のコマンドで全てのサービスをビルド&起動してみましょう。

このコマンドは以下を意味します:

  • -f:ファイル名を指定(省略可)
  • --build:初回ビルドを強制
  • -d:バックグラウンドで起動(detach)

起動後、docker ps コマンドで各コンテナが正常に立ち上がっているか確認しましょう。

ボリュームとは?

Dockerのボリューム(volume)は、コンテナの外にデータを保存できる仕組みです。
コンテナは基本的に”使い捨て”の性質があるため、ログやDBなどのデータを永続化したい場合に使われます。

ボリュームの使いどころ

  • DBのデータを保持したい
  • ログファイルなどをホスト側で確認したい
  • アプリケーションのコードをホットリロードしたい

ボリュームの使い方

Composeでボリュームを使う場合は、以下のように記述します:

この記述により、mydataという名前のボリュームがdockerを起動する側で作成され、MySQLのデータ領域にマウントされます。
つまり、作成されたmydataディレクトリにファイルを置くことでコンテナ上の/var/lib/mysql配下にファイルを連携することができるというわけです。

まとめ

Docker Composeとボリュームの使い方を知っておくことで、より実用的で保守性の高い開発環境を構築することができます。

  • Compose:複数コンテナの管理を楽にする
  • Volume:データの永続化・共有が可能になる

本連載の内容を通して、Dockerの基本から実践まで一通り学べたのではないでしょうか?
これをベースに、さらに本格的な開発環境の構築やCI/CDなどにもチャレンジしてみてください!

 
 

ブログランキングに参加しています。クリックして応援していただけると嬉しいです。

人気ブログランキング
ブログランキング・にほんブログ村へ
にほんブログ村