基于Ubuntu20.04开发验证,仅用于学习交流。
将本项目文件夹命名为docker_manager,并放在工作目录下并初始化环境。
使用docker统一管理。
安装docker并设置不需要root权限启动。
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
sudo usermod -aG docker ${USER}
su - ${USER}
id -nG
sudo service docker restart拉起环境,并初始化安装一些必要的工具。
依次调用docker_manager/install_config.d/中所有的自定义*.sh脚本。
由于网络原因,有概率失败,可以docker_into.sh进入容器后,手动sudo /workspace/docker_manager/install_config.sh继续安装。
./docker_manager/docker_start.sh #拉起容器,提供一些可自定义的参数, 详见 -h
./docker_manager/docker_into.sh #进入拉起的容器sudo ./docker_manager/install_config.sh #直接初始化自定义环境,通过软链接保持路径与使用docker一致。无论何种初始化方式,下载 和 编译过程非常耗时 ,实测100M家庭宽带+8代i5笔记本 整个流程需要约2小时。在多机部署时,建议在足够强悍的机器上进行首次部署,后续机器将3rdparty_root_dir完整cp,可有效减少等待时间。
为了保证广泛兼容性,建议使用 CMake 工具链。 编译器建议使用CLion / Vscode Remote-SSH可以非常方便的与Docker搭配使用。 调试工具建议使用gdb,perf等 可视化界面建议通过 rclpy 订阅相关 topic 进行可视化
脚本调用关系:docker_start.sh -> docker_adduser.sh -> install_config.sh -> install_config.d/*.sh 如需新增环境配置,只需在install_config.d中新增一个安装脚本即可。
-
默认挂载 上一级目录 到 /workspace。
-
挂载/dev路径,可访问硬件。
-
挂载核显,可在镜像内运行可视化界面,方便调试。
-
-p | 默认使用本机网络,-p参数改为桥接模式,可使用ssh直接登录容器,可远程登录,或pycharm-profession,clion等更方便的调试。
-
-g | 可在容器内使用本机的nvidia gpu,需要 安装nvidia-docker2。
-
-n | 可自定义容器名,而实现多开容器。
- -n | 进入指定名称的容器。
- 初始化容器内基本配置,容器内当前默认用户密码/root密码:123
- 自定义环境,便利调用install_config.d中的sh脚本。