Docker Composeで複数サービスを管理する方法

プログラムDocker,Docker Compose

はじめに

複数のサービスが連携するアプリケーション(例:Webサーバー+データベース)をローカルでセットアップするのは手間がかかります。Docker Composeを使えば、これらのサービスを簡単にまとめて管理できます。今回は、Composeを用いた環境構築を解説します。


Docker Composeとは?

Docker Composeは、複数のコンテナをまとめて定義・管理するツールです。docker-compose.ymlという設定ファイルを使って、すべてのサービスを記述します。


サンプル構成:Webサーバー+データベース

以下の構成を例に進めます:

  • Nginx (Webサーバー)
  • MySQL (データベース)

ステップ1: docker-compose.ymlの作成

プロジェクトルートにdocker-compose.ymlを作成し、以下を記述します:

version: '3.8'
services:
  web:
  image: nginx
  ports:
    - "8080:80"
  volumes:
    - ./html:/usr/share/nginx/html

  db:
    image: mysql:5.7
    environment:
    MYSQL_ROOT_PASSWORD: example
    MYSQL_DATABASE: testdb

ステップ2: ディレクトリ構造の作成

以下のようにディレクトリを準備します:

project/
├── docker-compose.yml
└── html/
└── index.html

html/index.htmlに簡単なHTMLファイルを作成します:

<!DOCTYPE html>
<html>
<head><title>Docker Compose Example</title></head>
<body><h1>Hello from Nginx!</h1></body>
</html>

ステップ3: コンテナの起動

以下のコマンドでComposeを実行:

docker-compose up -d

ブラウザでhttp://localhost:8080にアクセスすると、Nginxが表示されます。

ステップ4: サービスの管理

Composeを使うと、以下のような操作も簡単にできます:

コンテナの確認:

docker-compose ps

コンテナの停止:

docker-compose down

まとめ

Docker Composeを使えば、複数のコンテナを簡単に管理・連携できます。次回は、Composeで環境を拡張し、データ永続化やネットワーク設定を深掘りしていきます!

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

スポンサーリンク