# Docker Compose 配置文件 # # 启动前准备: # 1. 复制环境变量配置: cp .env.example .env # 2. 根据需要修改 .env 文件 # 3. (可选)预下载构建资源: bash download-resources.sh # # 启动方式: # 方法 1(推荐): bash start.sh # 方法 2: docker compose up(需要确保 .env 文件存在) services: app: env_file: - .env build: context: .. dockerfile: .devcontainer/Dockerfile args: CONTAINER_USER_UID: ${CONTAINER_USER_UID:-1000} CONTAINER_USER_GID: ${CONTAINER_USER_GID:-1000} PROJECT_NAME: ${PROJECT_NAME:-isos} DOCKER_GID: ${DOCKER_GID:-984} image: vscode:${PROJECT_NAME:-isos} container_name: ${PROJECT_NAME:-isos} hostname: ${PROJECT_NAME:-isos} extra_hosts: - "${PROJECT_NAME:-isos}:127.0.0.1" - "localhost:127.0.0.1" # 特权模式(可选,部分场景需要) privileged: true # 资源限制配置 deploy: resources: limits: cpus: '${CONTAINER_CPUS:-4}' memory: ${CONTAINER_MEMORY:-8G} # 配置 GPU 访问:all 表示所有 GPU,也可指定具体 GPU,如 "device=0,1" # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [gpu] environment: NODE_OPTIONS: --max-old-space-size=4096 DOCKER_ENABLED: ${DOCKER_ENABLED:-true} DOCKER_GID: ${DOCKER_GID:-984} # 让容器可见所有 GPU # NVIDIA_VISIBLE_DEVICES: all # 启用计算和工具类能力 # NVIDIA_DRIVER_CAPABILITIES: compute,utility volumes: - ../:/workspace:delegated - ${DOCKER_SOCK:-/var/run/docker.sock}:/var/run/docker.sock - ${SSH_PATH:-.volumes/ssh}:/home/vscode/.ssh - ${CLAUDE_PATH:-.volumes/claude}:/home/vscode/.claude - ${JJ_CONFIG_PATH:-.volumes/jj}:/home/vscode/.config/jj working_dir: /workspace network_mode: host ulimits: memlock: soft: -1 hard: -1 stack: soft: 67108864 hard: 67108864 # 配置 IPC 模式 ipc: host # dns: # - 119.29.29.29 # - 223.5.5.5 # - 8.8.8.8 # - 1.1.1.1 # - 202.96.128.143 # - 202.96.128.68 # - 202.96.134.133 # - 202.96.128.86 # - 202.96.128.166 command: sleep infinity