> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-run-filter-ui-updates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> API 키, 환경 변수, 로컬 파일 저장소를 설정해 도커 컨테이너에서 W&B를 실행합니다.

# Docker

<div id="docker-integration">
  ## Docker 인테그레이션
</div>

W\&B는 코드가 실행된 도커 이미지에 대한 참조를 저장할 수 있으므로, 이전 실험을 실행 당시와 정확히 동일한 환경으로 복원할 수 있습니다. wandb 라이브러리는 이 상태를 저장하기 위해 **WANDB\_DOCKER** 환경 변수를 확인합니다. 이 상태를 자동으로 설정해 주는 몇 가지 헬퍼도 제공합니다.

<div id="local-development">
  ### 로컬 개발
</div>

`wandb docker`는 도커 컨테이너를 시작하고, wandb 환경 변수를 전달하며, 코드를 마운트하고, wandb가 설치되도록 해 주는 명령어입니다. 기본적으로 이 명령어는 TensorFlow, PyTorch, Keras, Jupyter가 설치된 도커 이미지를 사용합니다. 동일한 명령어로 자체 도커 이미지도 시작할 수 있습니다: `wandb docker my/image:latest`. 이 명령어는 현재 디렉터리를 컨테이너의 "/app" 디렉터리에 마운트하며, `--dir` 플래그로 이를 변경할 수 있습니다.

<div id="production">
  ### 프로덕션
</div>

`wandb docker-run` 명령은 프로덕션 워크로드용으로 제공됩니다. 이 명령은 `nvidia-docker`를 바로 대체할 수 있도록 설계되었습니다. `docker run` 명령을 감싸는 단순한 래퍼로, 호출 시 사용자 자격 증명과 **WANDB\_DOCKER** 환경 변수를 추가합니다. `"--runtime"` 플래그를 전달하지 않았고 머신에서 `nvidia-docker`를 사용할 수 있는 경우에는 런타임이 nvidia로 설정되도록 합니다.

<div id="kubernetes">
  ### Kubernetes
</div>

Kubernetes에서 트레이닝 워크로드를 실행하고 k8s API가 파드에 노출되어 있다면 (기본값이 그렇습니다), wandb는 API를 쿼리해 도커 이미지의 digest를 확인하고 **WANDB\_DOCKER** 환경 변수를 자동으로 설정합니다.

<div id="restoring">
  ## 복원
</div>

run이 **WANDB\_DOCKER** 환경 변수와 함께 기록된 경우, `wandb restore username/project:run_id`를 실행하면 코드를 복원한 새 브랜치를 체크아웃한 다음, 원래 명령어가 미리 채워진 트레이닝에 사용된 정확한 도커 이미지를 실행합니다.
