5. Docker 环境
Docker 提供一致的 Ubuntu 开发环境,支持 x86-64 / ARM64 及可选 NVIDIA GPU 镜像。
5.1 安装 Docker
cd docker/scripts
python3 install_docker.py
# 或
sudo ./install_docker.sh # 若存在 shell 封装
docker --version
5.2 启动容器
入口脚本:docker/run_autonomy.py
# 设置仓库根目录(用于 bind mount)
export AUTONOMY_ENV=/path/to/autonomy
# 自动检测平台,优先 NVIDIA 镜像(若可用)
python3 docker/run_autonomy.py
# 指定平台
python3 docker/run_autonomy.py -p x86_64
python3 docker/run_autonomy.py -p aarch64
# 强制 NVIDIA 镜像
python3 docker/run_autonomy.py -p x86_64 -n yes
# 强制标准镜像(无 GPU)
python3 docker/run_autonomy.py -p x86_64 -n no
5.3 常用选项
选项 / 环境变量 |
说明 |
|---|---|
|
宿主机仓库路径,挂载到容器 |
|
以宿主机 uid:gid 运行 |
|
额外挂载数据卷 |
|
保留 Isaac 衍生镜像 ENTRYPOINT |
额外参数 |
透传给 |
5.4 进入容器
docker exec -it <container_name> /bin/bash
cd /workspace/autonomy
容器名由 docker_utils.resolve_container_name 决定,常见为项目相关名称(参见脚本输出)。
5.5 容器内编译
cd /workspace/autonomy
python3 -m install_deps # 若镜像未预装完整依赖
mkdir -p build && cd build
cmake -G Ninja ..
ninja
预构建镜像通常已包含大部分 /usr/local 第三方库,可能仅需 ninja。
5.6 镜像与 Dockerfile
平台 |
Dockerfile 路径 |
|---|---|
x86-64 |
|
x86-64 + NVIDIA |
|
aarch64 |
|
构建镜像:
python3 docker/build_docker_x86_64.py # 参见 docker/ 目录脚本
5.7 与宿主机开发的差异
项目 |
宿主机 |
Docker |
|---|---|---|
依赖隔离 |
污染系统 |
隔离在镜像内 |
文件权限 |
原生 |
|
GPU |
原生驱动 |
需 NVIDIA Container Toolkit |
编译速度 |
通常更快 |
bind mount I/O 可能略慢 |