分離型のフロントエンド・バックエンドプロジェクトをDockerでどのようにデプロイするか

Dockerを利用して、バックエンドとフロントエンドを分離したプロジェクトをデプロイする方法を以下に示します。

  1. フロントエンドとバックエンドプロジェクトのDockerfileを用意しましょう。DockerfileはDockerイメージをビルドするための設定ファイルです。フロントエンドプロジェクトのルートディレクトリとバックエンドプロジェクトのルートディレクトリそれぞれにDockerfileファイルを作成し、イメージビルド手順を記述します。
  2. Node.jsのベースイメージを使用してフロントエンドプロジェクト用のDockerfileを作成し、イメージにフロントエンドコードをコピーします。フロントエンドプロジェクトのDockerイメージを構築するには、以下のコマンドを使用できます。
FROM node:latest
COPY . /app
WORKDIR /app
RUN npm install
CMD npm run start
  1. バックエンドプロジェクトの Dockerfile で、バックエンド言語に適したベースイメージを使用し、バックエンドコードをイメージにコピーします。次のコマンドを使用して、バックエンドプロジェクトの Docker イメージをビルドできます。
FROM python:latest
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD python app.py
  1. コマンドラインでフロントエンドプロジェクトのルートディレクトリに移動し、以下のコマンドを実行してフロントエンドのDockerイメージをビルドします。
docker build -t frontend .
  1. コマンドラインでバックエンドプロジェクトのルートディレクトリに移動したら、以下のコマンドを実行して、バックエンドのdockerイメージを作成します。
docker build -t backend .
  1. コンテナを開始。次のコマンドを使用して、フロントエンドとバックエンドコンテナを開始できます。
docker run -p 80:80 frontend
docker run -p 8000:8000 backend

これらのコマンドを実行すると、コンテナ内でフロントエンドとバックエンドのプロジェクトが動作し、コンテナの80番ポートがホストの80番ポート(フロントエンドプロジェクト)、コンテナの8000番ポートがホストの8000番ポート(バックエンドプロジェクト)にマッピングされます。

  1. ブラウザからフロントエンドのプロジェクト(http://localhost)とバックエンドのプロジェクト(http://localhost:8000)にアクセスできるようになりました。

これは基本的な例です。プロジェクトのニーズやプロファイルに合わせて調整できます。

bannerAds