ToB企服应用市场:ToB评测及商务社交产业平台

标题: ubuntu 20.04 体系 同一宿主机,不同ros2 docker 不通信题目 [打印本页]

作者: 南飓风    时间: 2024-7-19 09:11
标题: ubuntu 20.04 体系 同一宿主机,不同ros2 docker 不通信题目
题目 在一台ubuntu 20.04的宿主机中分别启动2个类似版本的docker容器
docker 1启动下令:
  1. xhost +
  2. docker run -it --privileged=true  --net=host \
  3.   --gpus all     \
  4.   --env="DISPLAY" \
  5.   --env="QT_X11_NO_MITSHM=1" \
  6.   --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
  7.   -v /home/root/contain:/root/dataset \
  8.   --name useros1 ubuntu:22.04 /bin/bash
复制代码
  docker 2启动下令: 
  1. xhost +
  2. docker run -it --privileged=true  --net=host \
  3.   --gpus all     \
  4.   --env="DISPLAY" \
  5.   --env="QT_X11_NO_MITSHM=1" \
  6.   --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
  7.   -v /home/root/contain:/root/dataset \
  8.   --name useros2 ubuntu:22.04 /bin/bash
复制代码
定义类似的ROS_DOMAIN_ID,在容器1 中pub 数据,在容器2 中sub不到数据。
解决题目:修改docker启动下令
docker1 启动下令
  1. xhost +
  2. docker run -it --privileged=true  --net=host \
  3.   --gpus all     \
  4.    -p 11311:11311 \
  5.   --env="DISPLAY" \
  6.   --env="QT_X11_NO_MITSHM=1" \
  7.   --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
  8.   --volume="/dev:/dev" \
  9.   -v /home/root/contain:/root/dataset \
  10.   --name useros1 ubuntu:22.04 /bin/bash
复制代码
docker2 启动下令
  1. xhost +
  2. docker run -it --privileged=true  --net=host \
  3.   --gpus all     \
  4.    -p 11311:11311 \
  5.   --env="DISPLAY" \
  6.   --env="QT_X11_NO_MITSHM=1" \
  7.   --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
  8.   --volume="/dev:/dev" \
  9.   -v /home/root/contain:/root/dataset \
  10.   --name useros2 ubuntu:22.04 /bin/bash
复制代码
再次设置类似的ROS_DOMAIN_ID,此时docker1和docker2的ros2消息可以互相通信
有大佬懂得,批评区欢迎留言解答

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4