Files
team/.devcontainer/docker-compose.yml
2026-04-19 21:47:08 +08:00

82 lines
2.3 KiB
YAML

# 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