# vkgs-sim 개발 컨테이너 (docker/README.md). # docker compose build dev # docker compose run --rm dev bash # 셸 # docker compose run --rm dev vkgs-doctor # 점검 services: dev: build: context: . dockerfile: docker/Dockerfile args: CUDA_ARCH: ${CUDA_ARCH:-8.6} UID: ${HOST_UID:-1000} GID: ${HOST_GID:-1000} image: ${IMAGE_NAME:-dzqf0000/vulkansim}:${IMAGE_TAG:-1.0} # nvidia-container-toolkit 필요. 'gpus: all' 대신 오래된 compose 도 읽는 형태. deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] runtime: nvidia environment: NVIDIA_VISIBLE_DEVICES: all NVIDIA_DRIVER_CAPABILITIES: compute,utility,graphics,display DISPLAY: ${DISPLAY:-:0} VKGS_WORKSPACE: ${PWD} NUSCENES_ROOT: ${NUSCENES_ROOT:-/home/mm/nas2/nuscenes_original_junhan/nuscenes/original/full} volumes: # 저장소를 호스트와 같은 경로로 — outputs/ 의 segments.txt 등이 절대 경로를 담는다. - ${PWD}:${PWD}:rw # C++ 빌드는 컨테이너 전용 디렉터리로 가린다. 호스트 build/ 는 호스트 conda 컴파일러 경로를 담고 있어 # 같이 쓰면 서로의 CMake 캐시를 깬다. nusim 은 <저장소>/build/vkgs_viewer 를 찾으므로 경로는 그대로. - ${PWD}/build-docker:${PWD}/build:rw # nuScenes 원본은 반드시 읽기 전용 (67 TB 공용 NFS). 경로도 호스트와 같게. - ${NUSCENES_ROOT:-/home/mm/nas2/nuscenes_original_junhan/nuscenes/original/full}:${NUSCENES_ROOT:-/home/mm/nas2/nuscenes_original_junhan/nuscenes/original/full}:ro # X11 (창 뷰어). 호스트에서 한 번: xhost +local: - /tmp/.X11-unix:/tmp/.X11-unix:rw working_dir: ${PWD} shm_size: "16gb" ipc: host network_mode: host stdin_open: true tty: true