dockerize
1.0.0
如果您正在寻找更好的解决方案,请查看OSRF的摇杆存储库
此脚本使您可以创建Docker容器,可以在其中运行图形程序(例如Guazebo),而无需付出太大的努力。此自动化模仿您的本地安装,并允许您在沙盒环境中运行程序。它将您的主目录安装到容器中,并共享相同的用户变量。
无需安装此“软件包”。但是,如果您愿意做类似的事情:
~/.dockerize~/.dockerize~./.dockerize/dockerize.sh /usr/local/bin/dockerizeROS_DISTRO=noetic dockerize在任何地方 cd ~
git clone https://github.com/incebellipipo/dockerize .dockerize
sudo ln -s ~ /.dockerize/dockerize.sh /usr/local/bin/dockerize构建图像
构建图像非常简单。该脚本用ROS_DISTRO环境变量中描述的ROS版本构建图像。它可以将其设置为Docker Hub中发布的ROS版本。
ROS_DISTRO=humble ./dockerize.sh build运行图像
./dockerize.sh run用户在第一次运行中不属于任何组。您可以通过运行groups命令对其进行检查。因此,登录到容器后,您需要再次登录才能进入本地用户所属的组。访问/dev/dri和/dev/snd等设备是必要的。
# Inside Docker
$ su - ${USER}
Password:运行容器后,您可以使用TMUX或VSCODE远程开发进行开发。
连接运行容器
ROS_DISTRO=humble ./dockerize.sh attach停止运行容器
ROS_DISTRO=humble ./dockerize.sh stop清洁独立的容器
ROS_DISTRO=humble ./dockerize.sh clean在主机上
export NVIDIA_DRIVER_VERSION="$(nvidia-smi --query-gpu=driver_version --format=csv,noheader)"
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/"$NVIDIA_DRIVER_VERSION"/NVIDIA-Linux-x86_64-"$NVIDIA_DRIVER_VERSION".run
mv NVIDIA-Linux-x86_64-"$NVIDIA_DRIVER_VERSION".run NVIDIA-DRIVER.run
在容器中
sudo ./NVIDIA-DRIVER.run -a -N --ui=none --no-kernel-module
学分:https://stackoverflow.com/a/44187181
就像创建任何其他Dockerfile一样自定义。