に参加して、VS Code の AI 支援開発について学びましょう。

環境変数

以下のいずれかのオプションを使用すると、コンテナーイメージを変更することなく、コンテナー内の環境変数を設定できます。

ターミナル > 統合: 環境を継承するが設定でチェックされていることを確認してください。そうしないと、設定した変数が統合ターミナルに表示されない場合があります。この設定はデフォルトでチェックされています。

オプション 1: 個別の変数を追加する

devcontainer.jsonで何を参照しているかによって異なります。

  • Dockerfileまたはイメージ: devcontainer.jsoncontainerEnvプロパティを追加してコンテナー全体に適用される変数を設定するか、remoteEnvを追加してVS Codeおよび関連するサブプロセス(ターミナル、タスク、デバッグなど)に適用される変数を設定します。

    "containerEnv": {
        "MY_CONTAINER_VAR": "some-value-here",
        "MY_CONTAINER_VAR2": "${localEnv:SOME_LOCAL_VAR}"
    },
    "remoteEnv": {
        "PATH": "${containerEnv:PATH}:/some/other/path",
        "MY_REMOTE_VARIABLE": "some-other-value-here",
        "MY_REMOTE_VARIABLE2": "${localEnv:SOME_LOCAL_VAR}"
    }
    

    この例が示すように、containerEnvはローカル変数を参照でき、remoteEnvはローカル変数と既存のコンテナー変数の両方を参照できます。

ビデオ: 開発コンテナーでPATHを変更する



  • Docker Compose: Docker Composeにはコンテナー全体の変数を更新するための組み込みサポートがあるため、devcontainer.jsonではremoteEnvのみがサポートされます。

    "remoteEnv": {
        "PATH": "${containerEnv:PATH}:/some/other/path",
        "MY_REMOTE_VARIABLE": "some-other-value-here",
        "MY_REMOTE_VARIABLE2": "${localEnv:SOME_LOCAL_VAR}"
    }
    

    この例が示すように、remoteEnvはローカル変数と既存のコンテナー変数の両方を参照できます。

    コンテナー全体に適用される変数を更新するには、適切なサービスについて、以下の内容でdocker-compose.ymlを更新(または拡張)します。

    version: '3'
    services:
      your-service-name-here:
        environment:
          - YOUR_ENV_VAR_NAME=your-value-goes-here
          - ANOTHER_VAR=another-value
         # ...
    

すでにコンテナをビルドして接続している場合は、コマンドパレット (F1) からDev Containers: コンテナを再構築を実行して変更を反映します。それ以外の場合は、Dev Containers: コンテナでフォルダーを開く... を実行してコンテナに接続します。

オプション 2: envファイルを使用する

設定する必要がある環境変数が多数ある場合は、代わりに.envファイルを使用できます。

まず、ソースツリーのどこかに環境ファイルを作成します。この.devcontainer/devcontainer.envファイルを検討してください。

YOUR_ENV_VAR_NAME=your-value-goes-here
ANOTHER_ENV_VAR_NAME=your-value-goes-here

次に、devcontainer.jsonで何を参照しているかによって異なります。

  • Dockerfileまたはイメージ: devcontainer.jsonを編集し、devcontainer.envへのパスを追加します。

    "runArgs": ["--env-file",".devcontainer/devcontainer.env"]
    
  • Docker Compose: docker-compose.ymlを編集し、Docker Composeファイルからの相対パスでdevcontainer.envファイルへのパスを追加します。

    version: '3'
    services:
      your-service-name-here:
        env_file: devcontainer.env
        # ...
    

docker composeは、docker-compose.ymlを含むフォルダー内の.envという名前のファイルを自動的に認識しますが、別の場所に作成することもできます。

すでにコンテナをビルドして接続している場合は、コマンドパレット (F1) からDev Containers: コンテナを再構築を実行して変更を反映します。それ以外の場合は、Dev Containers: コンテナでフォルダーを開く... を実行してコンテナに接続します。

ビデオ: .envファイルから変数を読み込む

© . This site is unofficial and not affiliated with Microsoft.