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一樣自定義。