사용자별 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를 사용하여 코드에서 자체 세션을 구성합니다.
추가 리소스
Windows Subsystem for Linux