WSL 컨테이너 설정

사용자별 YAML 설정 파일(wslc.exe)을 사용하여 CPU 수 및 컨테이너 세션에서 사용할 수 있는 메모리 양과 같은 %LOCALAPPDATA%\wslc\settings.yaml의 컨테이너 실행 방식을 사용자 지정할 수 있습니다.

설정 파일 열기

설정 파일은 기본적으로 존재하지 않습니다. 파일을 만들고 .yaml 파일의 기본 편집기에서 열려면(또는 편집기가 연결되어 있지 않은 경우 메모장) 다음을 실행합니다.

wslc settings

이 명령을 처음 실행할 때 wslc는 모든 설정이 주석 처리되고 default로 설정된 파일을 만듭니다. 줄의 주석 처리를 제거하고 default를 사용자 값으로 바꿔 설정을 변경합니다. 주석 처리된 기본값으로 파일을 다시 덮어쓰려면 다음을 실행합니다.

wslc settings reset

settings.yaml 파일의 예는 다음과 같습니다.

session:
  cpuCount: 4
  memorySize: 8GB
  maxStorageSize: 500GB
  storagePath: D:\data
  defaultBindingAddress: 127.0.0.1
  hostLoopback: host.wslc.internal
  idleTimeout: 60

사용 가능한 설정

모든 설정은 기본 제공 기본값을 사용하는 default 값을 허용합니다. 파일에 없는 설정도 기본 제공 기본값을 사용합니다.

Setting Value Default Description
session.cpuCount number 모든 논리 프로세서 컨테이너 세션에 할당된 가상 프로세서 수입니다. 0보다 커야 합니다.
session.memorySize size Windows 전체 메모리의 50% 컨테이너 세션에 할당된 최대 메모리 양(예: 8GB)입니다.
session.maxStorageSize size 1TB 예를 들어 500GB세션의 이미지 및 컨테이너를 저장하는 VHDX(가상 디스크)의 최대 크기입니다.
session.storagePath path %LOCALAPPDATA% 기본 세션의 스토리지에 대한 절대 기반 디렉터리입니다. 가상 디스크는 <storagePath>\wslc\sessions\<session>\storage.vhdx에서 만들어집니다.
session.defaultBindingAddress IPv4 주소 127.0.0.1 주소를 지정하지 않고 wslc container run -p를 사용할 때 게시된 포트가 바인딩되는 호스트 주소입니다. 0.0.0.0로 설정하면 모든 호스트 인터페이스에 바인딩됩니다.
session.hostLoopback string host.wslc.internal 컨테이너가 Windows 호스트에 도달하는 데 사용할 수 있는 DNS 이름입니다. none로 설정하여 이 이름을 비활성화합니다.
session.idleTimeout number 30 세션 VM이 종료되기 전에 유휴 상태가 된 후 계속 실행되는 시간(초)입니다. 0보다 커야 합니다.
credentialStore wincred 또는 file wincred 컨테이너 레지스트리 자격 증명 wslc login 이 저장되는 위치입니다. wincred는 Windows 자격 증명 관리자를 사용합니다. file에서는 %LOCALAPPDATA%\wslc\registry-credentials.json에 있는 DPAPI로 암호화된 파일을 사용합니다.

크기 값은 정수 뒤에 선택적 단위가 오는 형식입니다: B, MKB/, /KMB, GGB/, /PBT, 또는 TBP/(대/소문자를 구분하지 않음). 단위는 이진 단위이므로 1GB 1024MB입니다. 단위가 없는 값은 바이트로 해석되고 최소값은 1MB입니다.

Note

세션이 이미 존재한 후에 session.storagePath을 변경해도 기존 이미지, 컨테이너 또는 스토리지는 이동하지 않습니다. 이전 스토리지는 원래 위치에 남아 있으며 새 위치에 빈 새 세션이 만들어집니다.

변경 내용이 적용되는 시점

  • 세션 설정(session.*)은 컨테이너 세션이 시작될 때 읽힙니다. 세션이 이미 실행 중인 경우 업데이트된 설정으로 다음 wslc system session terminate 명령이 새 세션을 시작하도록 wslc로 해당 세션을 중지합니다. 또한 세션이 session.idleTimeout초 동안 유휴 상태이면 자체적으로 종료됩니다.
  • wslc 명령을 실행할 때마다 session.defaultBindingAddress와 credentialStore을 읽습니다.

설정 파일에 알 수 없는 설정, 잘못된 값 또는 잘못된 YAML이 포함된 경우, wslc는 파일 경로와 줄 번호를 포함한 경고를 출력하고 영향을 받는 설정에 기본 제공 기본값을 사용합니다.

Note

이러한 설정은 wslc.exe가 사용하는 세션에 적용됩니다. WSL 컨테이너에는 .wslconfig 설정이 적용되지 않습니다. WSL 컨테이너 API를 사용하는 애플리케이션은 예를 들어 SessionSettings를 사용하여 코드에서 자체 세션을 구성합니다.

추가 리소스