47 lines
1.6 KiB
Docker
47 lines
1.6 KiB
Docker
# Humanoid Skateboarding (mjlab_husky)
|
||
# Ubuntu 22.04 + CUDA 13(训练需 NVIDIA 驱动与 nvidia-container-toolkit)
|
||
#
|
||
# 构建:
|
||
# docker build -t husky-skate:latest .
|
||
#
|
||
# 运行(GPU,Rerun Web):映射 Web + gRPC 两端口(与终端打印一致)
|
||
# docker run --gpus all -it --rm -p 8080:8080 -p 9876:9876 husky-skate:latest
|
||
#
|
||
# 若宿主机 8080/9876 已被其他容器占用,可换映射(示例 18080/19876):
|
||
# docker run --gpus all -it --rm -p 18080:18080 -p 19876:19876 husky-skate:latest \
|
||
# uv run play Mjlab-Skater-Flat-Unitree-G1 --checkpoint_file ckpts/test.pt \
|
||
# --viewer rerun --rerun-web-port 18080 --rerun-grpc-port 19876 --no-rerun-open-browser
|
||
#
|
||
# 仅进 shell 调试:
|
||
# docker run --gpus all -it --rm --entrypoint /bin/bash husky-skate:latest
|
||
|
||
FROM nvidia/cuda:13.0.1-cudnn-devel-ubuntu22.04
|
||
|
||
ENV DEBIAN_FRONTEND=noninteractive \
|
||
PYTHONUNBUFFERED=1 \
|
||
PATH="/root/.local/bin:${PATH}" \
|
||
MUJOCO_GL=egl
|
||
|
||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||
git \
|
||
curl \
|
||
ca-certificates \
|
||
build-essential \
|
||
libgl1 \
|
||
libglib2.0-0 \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
||
|
||
WORKDIR /app
|
||
|
||
COPY . .
|
||
|
||
RUN uv sync && uv pip install -e .
|
||
|
||
ENV VIRTUAL_ENV=/app/.venv \
|
||
PATH="/app/.venv/bin:${PATH}"
|
||
|
||
# 容器内无桌面:默认 Rerun Web;不自动打开浏览器(在宿主机打开终端打印的 URL)
|
||
CMD ["uv", "run", "play", "Mjlab-Skater-Flat-Unitree-G1", "--checkpoint_file", "ckpts/test.pt", "--viewer", "rerun", "--no-rerun-open-browser"]
|