welcom ! Handel home

2025年3月5日 星期三

Docker 啟動osrf image 引用主機顯示介面 及 GPU

for ubuntu 24.04

啟動osrf image 引用主機顯示介面 及 GPU

#啟動位置 切換到 主機對映 data 的同個目錄下 才能對映到實體 data

cd  ROSGazeboDesktop  

check data 目錄 is ready !

#=暫存 container + gpu==============================================

sudo docker run -it --rm \

        --gpus all \

        --net=host \

        --name ros_container \

        -e DISPLAY=${DISPLAY} \

        -e QT_X11_NO_MITSHM=1 \

        -v /tmp/.X11-unix:/tmp/.X11-unix \

        -v $(pwd)/data:/home/ubuntu/data \

        --privileged \

        osrf/ros:noetic-desktop-full bash

#=暫存 container no gpu==============================================

sudo docker run -it --rm \

        --net=host \

        --name ros_container \

        -e DISPLAY=${DISPLAY} \

        -e QT_X11_NO_MITSHM=1 \

        -v /tmp/.X11-unix:/tmp/.X11-unix \

        -v $(pwd)/data:/home/ubuntu/data \

        --privileged \

        osrf/ros:noetic-desktop-full bash

#=固定 container + gpu==============================================

sudo docker run -itd --restart=always \

        --gpus all \

        --net=host \

        --name ros_container \

        -e DISPLAY=${DISPLAY} \

        -e QT_X11_NO_MITSHM=1 \

        -v /tmp/.X11-unix:/tmp/.X11-unix \

        -v $(pwd)/data:/home/ubuntu/data \

        --privileged \

        osrf/ros:noetic-desktop-full 

#=固定 container  no  gpu==============================================

sudo docker run -itd --restart=always \

        --net=host \

        --name ros_container \

        -e DISPLAY=${DISPLAY} \

        -e QT_X11_NO_MITSHM=1 \

        -v /tmp/.X11-unix:/tmp/.X11-unix \

        -v $(pwd)/data:/home/ubuntu/data \

        --privileged \

        osrf/ros:noetic-desktop-full 


#檢視container 啟動狀態 

$sudo docker ps -a 


# docker DISPLAY 顯示 xhost enable 

$xhost +local:docker

$sudo docker exec -it ros_container bash


#進入 ros workspace 得設定path 

$source /opt/ros/noetic/setup.bash

$source devel/setup.bash


#== 進入 container 執行

$xhost +local:docker

$sudo docker exec -it ros_container bash

$roslaunch myrobot_gazebo myrobot_world.launch

$rosrun myrobot_gazebo circle_mode.py

沒有留言: