ChatGPTが教えてくれたDockerチュートリアル-超初歩編-2


もちろんです!さらに進んで、今度はDocker Composeを使用してマルチコンテナのWebサービスを構築する基本的なチュートリアルを進めましょう。

ステップ1: Docker Composeのインストール

Docker Desktopを使用している場合、Docker Composeは通常既にインストールされています。ターミナルで次のコマンドを実行してバージョンを確認してください。

docker-compose --version

これでバージョン情報が表示されれば、インストールは完了しています。

ステップ2: アプリケーションとデータベースのセットアップ

Node.jsアプリケーションを1つと、データベースとしてMongoDBを使ったシンプルな構成を考えます。

ディレクトリ構造

以下のようなディレクトリ構造を作成しましょう。

my-web-app/
│
├── app/
│   ├── Dockerfile
│   ├── package.json
│   ├── server.js
│   └── ...
├── db/
│   ├── Dockerfile
│   └── ...
└── docker-compose.yml
  • `app`: Node.jsアプリケーションのコードと`Dockerfile`を置くディレクトリ

  • `db`: MongoDBの`Dockerfile`(カスタマイズが必要な場合)を置くディレクトリ

  • `docker-compose.yml`: Docker Composeの構成ファイル

Docker Compose設定

`docker-compose.yml`ファイルを作成し、以下の内容を記述します。

version: '3'
services:
  web:
    build: ./app
    ports:
      - "8080:8080"
  db:
    image: mongo:latest
  • `web`: `./app`ディレクトリにある`Dockerfile`を基にビルドされるWebアプリケーションサービス

  • `db`: MongoDBサービス(公式のMongoDBイメージを利用)

ステップ3: Webアプリケーションとデータベースのコード作成

先程作成したディレクトリ構造に基づき、それぞれのコンテナ用のコードと設定を記述していきます。

Node.jsアプリケーション (`app`ディレクトリ)

  • `Dockerfile`, `package.json`, `server.js`などは先程のシングルコンテナアプリケーションを参考に作成してください。ただし、MongoDBへの接続コードを`server.js`に追加する点が新しいステップとなります。

MongoDBコンテナ (`db`ディレクトリ)

  • 公式のMongoDBイメージを使用するため、特別な設定が不要な場合、このディレクトリに特別なファイルを置く必要はありません。

ステップ4: アプリケーションのビルドと起動

ターミナルで`docker-compose.yml`が置かれているディレクトリに移動し、以下のコマンドでアプリケーションをビルドして実行します。

docker-compose up

これで、Node.jsアプリケーションとMongoDBがそれぞれコンテナとして起動し、互いに通信が可能な状態になります。

上記の各ステップで詳細や説明が不足している部分があればお知らせください。個別のステップに関してもっと詳しく説明します!

この記事が気に入ったらサポートをしてみませんか?