Docker Compose を使用してインタープリターを構成する
前提条件
次の前提条件が満たされていることを確認してください:
安定したインターネット接続があるため、PyCharm は
busybox:latest(BusyBox Docker 公式イメージ の最新版)をダウンロードして実行できます。 Docker を使用してインタープリターを正常に構成したら、オフラインにすることができます。Docker がインストールされています。 Docker はさまざまなプラットフォームにインストールできますが、ここでは macOS(英語) インストールを使用します。
このチュートリアルを異なるプラットフォームで繰り返す必要がある場合は、 Windows(英語) および Linux(英語) に Docker インストールを使用してください (Ubuntu、他のディストリビューション関連の手順も利用できます)。
Docker の使用を開始する前に、 Docker プラグインが有効になっていることを確認してください。 プラグインは PyCharm にバンドルされており、デフォルトで有効になっています。 プラグインが有効になっていない場合は、 プラグインのインストール の説明に従って、 プラグイン 設定ページ  Ctrl+Alt+S で有効にしてください。
設定 ダイアログ (Ctrl+Alt+S) で、 を選択し、 Docker デーモンに接続 の <あなたの operating system> のための Docker を選択します。 例: macOS にいる場合は、 Mac 用 Docker を選択します。 詳細については、 Docker 設定を参照してください。
例を準備する
Django プラグインを有効化
この機能は、Django プラグインに依存しており、PyCharm にはデフォルトでバンドルされて有効になっています。 関連機能が利用できない場合は、プラグインが無効になっていないことを確認してください。
Ctrl+Alt+S を押して設定を開き、 を選択します。
インストール済み タブを開き、 Django プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
別のコンテナーで実行されている PostgreSQL データベースで Django アプリケーションを使用してみましょう。
'ようこそ' 画面の左側のペインで、 クローン をクリックします。
バージョン管理から取得 ダイアログで、 リモートリポジトリ(英語)の URL を指定し、 クローン をクリックします。
PyCharm は、 ファイルに記録されているプロジェクト要件に基づいて仮想環境を作成することを提案します。

OK をクリックして環境を作成します。
IDE が提供するもう 1 つのヒントは、データソースの検出です。 データベースに接続 をクリックしてデータベースを設定します。

不足しているドライバーをダウンロードし、残りの構成オプションを確認する必要がある場合があります。

これが完了すると、例の準備が整い、docker containers の構成を開始できます。
この Django のサポート アプリケーションでは、データベース用とアプリケーション用のコンテナーをそれぞれ作成します。 Docker Compose は 2 つのコンテナーをリンクします。
Docker と Docker Compose のファイルを追加
Project ツールウィンドウで、プロジェクトルートを右クリックし、コンテキストメニューから を選択します。 ファイル名を入力します: Dockerfile 。
次のコードをコピーして Dockerfile ファイルに貼り付けます。
FROM python:3.6.7 WORKDIR /app # By copying over requirements first, we make sure that Docker will cache # our installed requirements rather than reinstall them on every build COPY requirements.txt /app/requirements.txt RUN pip install -r requirements.txt # Now copy in our code, and run it COPY . /app EXPOSE 8000 CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]次に、プロジェクトルートをもう一度右クリックし、コンテキストメニューから を選択して、 docker-compose.yml ファイルを作成します。
次のコードをコピーして docker-compose.yml ファイルに貼り付けます。
version: '2' services: web: build: . ports: - "8000:8000" volumes: - .:/app links: - db db: image: "postgres:9.6" ports: - "5432:5432" environment: POSTGRES_PASSWORD: hunter2このファイルは、
webとdbの 2 つのサービスを定義し、リンクします。
Docker の設定
例の準備ができたため、Docker を設定しましょう。
Ctrl+Alt+S を押して設定を開き、 を選択します。
をクリックして、Docker サーバーを作成します。 推奨されるデフォルト値を受け入れます。

Docker をカスタムの場所にインストールした場合は、Docker CLI 実行可能ファイルへのパスを指定する必要がある場合があります。
変更を保存するには、 OK をクリックします。
Docker Compose をリモートインタープリターとして設定する
ここで、Docker Compose に基づいてリモートインタープリターを定義しましょう。
次のいずれかを実行します:
Python インタープリターセレクターをクリックして 新しいインタープリターを追加 を選択します。
Ctrl+Alt+S を押して 設定 を開き、 に移動します。
Python インタープリターセレクターをクリックして インタープリターの設定 を選択します。 利用可能なインタープリターのリストの横にある インタープリターの追加 リンクをクリックします。
利用可能なインタープリターのリストの横にある インタープリターの追加 リンクをクリックし、 Docker Compose について を選択します。
サーバー ドロップダウンで Docker 構成を選択します。
構成ファイル で docker-compose.yml ファイルを指定し、サービスを選択します。

必要に応じて、 環境変数(英語)を指定して プロジェクト名を作成する(英語)を編集します。
PyCharm が新しいターゲットを作成し構成するまで待ちます:

Select an interpreter to use in the container. 環境タイプは、 Python、 conda 、または uv から選択できます。
OK をクリックしてください。
構成されたリモートインタープリターがリストに追加されます。
Docker ツールウィンドウを使用する
Docker を構成すると、PyCharm のメインウィンドウ下部に サービス ツールウィンドウが表示されます。 services グループの横にあるガターで docker-compose up をクリックすると、
db および web サービスを起動できます。

サービス ツールウィンドウで docker コンテナーを管理する方法の詳細については、 Docker を参照してください。
データベース資格情報を構成する
Django プロジェクトの settings.py ファイルの DATABASES セクションを変更して、データベース構成の詳細を追加します。
アプリケーションの実行
メインメニューから を選択し、
migrateと入力してマイグレーションを実行し、Django のサポート アプリケーションを実行します。Django サーバーの実行 / デバッグ構成を作成します。 これを行うには、メインメニューから を選択します。
実行 / デバッグ構成 ダイアログで、
新規構成の追加 をクリックし、 Django サーバー を選択します。

ホスト フィールドを 0.0.0.0 に設定して、Docker コンテナーが外部要求に対して開かれていることを確認します。 このアドレスでサーバーを起動できるようにするには、 settings.py の
ALLOWED_HOSTSリストに0.0.0.0を追加します。新しく作成した構成を実行するには、メインメニューから を選択します。

Web ブラウザーで出力を確認するには、 http://localhost:8000 にアクセスしてください。

アプリケーションをデバッグする
実行 / デバッグ構成を作成すると、アプリケーションをデバッグすることもできます。
ブレークポイントを設定します (Django アプリケーションの場合は、テンプレートで設定できます)。
次のいずれかを実行します:
メインメニューから を選択します。
RunDjangoApp構成を選択した状態で、実行 / デバッグ構成ドロップダウンの横にあるデバッグ をクリックします。
コンテナー内のアプリケーションのデバッグの詳細については、 Docker コンテナーでデバッグするを参照してください。