44 lines
2.0 KiB
YAML
44 lines
2.0 KiB
YAML
|
|
services:
|
|||
|
|
# 定义你的开发容器服务
|
|||
|
|
meta-unit-dev:
|
|||
|
|
# 使用上一步我们定义的 Dockerfile 构建镜像
|
|||
|
|
# 如果 Dockerfile 在 .devcontainer/Dockerfile,则 build context 指向 .devcontainer
|
|||
|
|
build:
|
|||
|
|
context: . # build context 指向当前项目根目录,以便 Dockerfile 可以访问整个项目
|
|||
|
|
dockerfile: Dockerfile # 指定 Dockerfile 的路径
|
|||
|
|
# args: # 如果 Dockerfile 有 ARG 参数,可以在这里传递
|
|||
|
|
# PROTOC_VERSION: "3.20.1"
|
|||
|
|
|
|||
|
|
# 容器名称,方便识别和管理
|
|||
|
|
container_name: meta-unit-dev-env
|
|||
|
|
|
|||
|
|
# 将本地项目代码挂载到容器的 /app 目录
|
|||
|
|
# 这样你在本地修改代码,容器内会实时同步
|
|||
|
|
volumes:
|
|||
|
|
- .:/app # 将当前目录 (meta-unit-core 项目根目录) 挂载到容器的 /app
|
|||
|
|
|
|||
|
|
# 端口映射 (如果你的项目有服务需要从容器内部暴露到宿主机)
|
|||
|
|
# 例如,未来集成测试中,如果模拟的 Avatar Host 需要监听某个端口
|
|||
|
|
# - "8080:8080" # 宿主机端口:容器端口
|
|||
|
|
|
|||
|
|
# 默认命令 (可选)
|
|||
|
|
# 通常 JetBrains IDE 会覆盖这个命令来启动其后端服务
|
|||
|
|
# command: /bin/bash # 启动一个 bash shell,方便手动进入容器调试
|
|||
|
|
|
|||
|
|
# 特权模式 (可选,通常不建议,但在一些极端低层级开发或调试时可能需要)
|
|||
|
|
# privileged: true
|
|||
|
|
|
|||
|
|
# 环境变量 (可选)
|
|||
|
|
environment:
|
|||
|
|
# RUST_LOG: debug # 设置 Rust 日志级别,方便调试
|
|||
|
|
# CARGO_HOME: /usr/local/cargo # 确保 Cargo 路径正确(通常镜像已处理)
|
|||
|
|
# RUSTUP_HOME: /usr/local/rustup # 确保 Rustup 路径正确(通常镜像已处理)
|
|||
|
|
TZ: Asia/Singapore # 设置时区,与你的开发环境一致
|
|||
|
|
|
|||
|
|
# 保持容器运行,即使没有进程在前端运行 (对于开发容器很重要)
|
|||
|
|
stdin_open: true # docker run -i
|
|||
|
|
tty: true # docker run -t
|
|||
|
|
|
|||
|
|
# 额外的参数,例如 CPU/内存限制,或其他 Docker 特性
|
|||
|
|
# cpuset: "0-1"
|
|||
|
|
# mem_limit: "2g"
|