
Docker超入門:Docker運用の第一歩!コンテナ連携からデータ永続化まで
Dockerを本格的に運用するとなると、単に「コンテナを動かす」だけでは足りません。アプリケーションを安定的に動かすためには 複数のコンテナを連携させる仕組み や、データを永続化する工夫 が欠かせないんです。ここでは、実際の運用で意識すべき3つのポイント ― 複数コンテナの利用、ネットワークによる接続、データ永続化 ― をやさしく解説していきます。

複数のコンテナを扱う
Webアプリケーションは通常、いくつかの役割に分けられます。たとえば以下のように、Webサーバーとデータベースサーバーを分離して実行するのが一般的です。
| コンテナ | 役割 | 例 |
|---|---|---|
| Webサーバー | ユーザーからのリクエストを受け取り、画面を返す。 | Nginx, Apache |
| データベースサーバー | アプリのデータを保存・検索する。 | MySQL, PostgreSQL |
こうして役割ごとに分割することで、トラブルが起きても影響範囲を小さくでき、負荷が増えたら Webサーバーだけ複製してスケール する、といった柔軟な運用が可能になります。
コンテナ同士をネットワークでつなぐ
コンテナはデフォルトでは隔離された空間にいるため、そのままでは通信できません。複数コンテナが連携するにはネットワークの仕組みを作る必要があります。

Dockerでは以下のコマンドで簡単にネットワークを作成できます。
docker network create mynetworkそしてコンテナを起動するときにネットワークへ参加させます。
docker run -d --name web --network mynetwork nginx
docker run -d --name db --network mynetwork mysql このように同じネットワークに参加させることで、web コンテナから db コンテナへ通信が可能になります。
さらに便利なのが Docker Compose です。YAMLファイルに「WebサーバーはNginx、DBはMySQL、同じネットワークに所属」というルールを書けば、まとめて起動・停止・管理できます。
永続データを扱う
コンテナは一時的な環境なので、停止や削除をすると中のデータも消えてしまいます。でも、アプリの世界では消えてはいけないデータ ― たとえば ユーザー情報やアプリの設定 ― が必ず存在します。
Dockerではデータ永続化の方法として以下の2つがよく使われます。
| 方法 | 説明 | コマンド例 |
|---|---|---|
| ボリューム | Dockerが管理する専用の保存領域を利用 | docker volume create myvolume docker run -v myvolume:/var/lib/mysql mysql |
| バインドマウント | ホスト側のディレクトリを直接コンテナに接続 | docker run -v /home/user/data:/var/lib/mysql mysql |
これにより、たとえコンテナを削除してもデータは残り続け、安心して運用できます。
まとめ
Dockerを運用する第一歩として押さえるべきは、
- アプリを複数の役割に分けてコンテナ化すること
- ネットワークでコンテナ同士をつなげること
- ボリュームやバインドマウントでデータを永続化すること
この3つです。これさえ理解してしまえば、Dockerを使ったアプリ運用の基礎はバッチリ。あとは実際に手を動かして試しながら、自分の環境に合った運用方法を身につけていくと良いですよ。
