Check


プログラミングが無料で学べるYouTubeチャンネルを配信中!

RubyやPython、PHPやReactなど様々なプログラミング言語のチュートリアル動画が充実!

チャンネル登録はこちら

Python

【Django+Next.js】DockerでフロントエンドをNext.jsにしてバックエンドをDjangoで環境構築をする

動画で解説を見る

開発環境

  • Visual Studio Code:version 1.73.0
  • OS:Windows10
  • Docker Engine:v23.0.5

DockerでフロントエンドをNext.jsにしてバックエンドをDjangoで環境構築をする手順

DockerでフロントエンドをNext.jsにしてバックエンドをDjangoで環境構築をする手順について解説していきます。

ディレクトリ構成

今回のディレクトリ構成は下記を目指していきます。

最初に必要なディレクトリを作成しておいてください。

docker-compose.ymlを作成

まずはdocker-compose.ymlを作成していきます。

ルートディレクトリの直下にdocker-compose.ymlを作成し、以下のようにしてください。

Pythonコンテナを作成

次にPythonコンテナを作成していきます。

docker/backend/ディレクトリの直下にDockerfileを作成し、以下のようにしてください。

Nodeコンテナを作成

次にNodeコンテナを作成していきます。

docker/frontend/ディレクトリの直下にDockerfileを作成し、以下のようにしてください。

MySQLコンテナを作成

次にMySQLコンテナを作成していきます。

docker/database/ディレクトリの直下にDockerfileを作成し、以下のようにしてください。

Nginxコンテナを作成

次にNginxコンテナを作成していきます。

docker/nginx/ディレクトリの直下にDockerfileを作成し、以下のようにしてください。

docker/nginx/ディレクトリの直下にdefault.confを作成し、以下のようにしてください。

Next.jsプロジェクトとDjangoプロジェクトの作成

次にNext.jsプロジェクトとDjangoプロジェクトの作成をしていきます。

まずは以下のコマンドでプロジェクトディレクトリに移動します。

以下のコマンドでコンテナをビルドします。

以下のコマンドでNext.jsプロジェクトを作成します。

以下のコマンドでDjangoプロジェクトを作成します。

docker-compose.ymlを修正

次にdocker-compose.ymlを修正していきます。

ルートディレクトリの直下にdocker-compose.ymlを以下のように修正してください。

Pythonコンテナを作成

次にPythonコンテナを修正していきます。

docker/backend/ディレクトリの直下にDockerfileを以下のように修正してください。

Nodeコンテナを作成

次にNodeコンテナを作成していきます。

docker/frontend/ディレクトリの直下にDockerfileを作成し、以下のようにしてください。

Dockerコンテナを再ビルド

以下のコマンドでDockerコンテナを再ビルドします。

Django環境設定

次にDjangoの環境設定をしていきます。

まずはsettings.py設定を修正していきます。

次にDjangoのマイグレーションを実行していきます。

動作テスト

動作テストのためにコードを追記していきます。

まずはDjangoにAPIを追加していきます。

次にビュー関数でJsonレスポンスを返すようにしていきます。

次にNext.jsにページを追加していきます。

次に以下のコマンドでコンテナを起動します。

ブラウザでhttp://localhost/testにアクセスし、「Djangoからのメッセージです!」が表示されていれば成功です。

まとめ

今回はDockerでDjangoとNext.jsの環境構築をする手順について解説していきましたが、いかがだったでしょうか。

近年、フロントエンドとバックエンドを分けて運用するアプリケーションが増えてきましたが、Dockerを使えば簡単に開発環境を構築することができます。

Dockerを使った開発は必須となりつつありますので、是非、チャレンジしてみてください。

Check


プログラミングが無料で学べるYouTubeチャンネルを配信中!

RubyやPython、PHPやReactなど様々なプログラミング言語のチュートリアル動画が充実!

チャンネル登録はこちら

-Python