이 출시되었습니다! 11월의 새로운 기능 및 수정 사항을 읽어보세요.

환경 변수

컨테이너 이미지를 변경하지 않고 컨테이너에서 환경 변수를 설정할 수 있습니다. 아래 옵션 중 하나를 사용하세요.

설정에서 Terminal > Integrated: Inherit Env가 선택되어 있는지 확인해야 합니다. 그렇지 않으면 설정한 변수가 통합 터미널에 표시되지 않을 수 있습니다. 이 설정은 기본적으로 선택되어 있습니다.

옵션 1: 개별 변수 추가

devcontainer.json에서 참조하는 내용에 따라 다릅니다.

  • Dockerfile 또는 이미지: containerEnv 속성을 devcontainer.json에 추가하여 컨테이너 전체에 적용할 변수를 설정하거나 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는 로컬 변수와 기존 컨테이너 변수 모두를 참조할 수 있습니다.

동영상: dev 컨테이너에서 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: Rebuild Container를 실행하세요. 그렇지 않으면 Dev Containers: Open Folder in Container...를 실행하여 컨테이너에 연결하세요.

옵션 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 composedocker-compose.yml이 있는 폴더에서 .env라는 파일을 자동으로 인식하지만, 다른 위치에 파일을 만들 수도 있습니다.

이미 컨테이너를 빌드하고 연결한 경우, 변경 사항을 적용하려면 명령 팔레트(F1)에서 Dev Containers: Rebuild Container를 실행하세요. 그렇지 않으면 Dev Containers: Open Folder in Container...를 실행하여 컨테이너에 연결하세요.

동영상: .env 파일에서 변수 로드

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