我是靠谱客的博主 兴奋画板,最近开发中收集的这篇文章主要介绍多个Docker容器通过Ros通信,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.创建一个docker network

docker network create --subnet=172.172.1.0/24 rosnet

其中:
172.172.1.0 网段;24 掩码长度8*3;rosnet 网络名称,自取

2.启动docker的脚本指定相同的network

主要代码:--net rosnet --ip 172.172.1.101 --hostname hostcpp

c++的容器:

xhost +local:root;
docker run -it --rm 
--net rosnet 
--ip 172.172.1.101 
--hostname hostcpp 
--env="DISPLAY" 
--env="QT_X11_NO_MITSHM=1" 
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" 
--volume="/dev:/dev" 
-v /home/agx/datasets:/home/datasets 
-v /home/agx/project:/home/project 
--runtime nvidia 
less66/myslamcpp:1.0
/bin/bash
# service ssh start

python的容器:

xhost +local:root;
docker run -it --rm 
--net rosnet 
--ip 172.172.1.100 
--hostname hostpython 
--env="DISPLAY" 
--env="QT_X11_NO_MITSHM=1" 
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" 
--volume="/dev:/dev" 
-v /home/agx/datasets:/home/datasets 
-v /home/agx/project:/home/project 
--runtime nvidia 
less66/myslampython:1.0
/bin/bash
# service ssh start

3. 设置ROS_MASTER_URI

python(主机)的容器:

gedit ~/.bashrc
export ROS_MASTER_URI=http://172.172.1.100:11311
export ROS_HOSTNAME=172.172.1.100
export ROS_IP=172.172.1.100

c++(从机)的容器:

gedit ~/.bashrc
export ROS_MASTER_URI=http://172.172.1.100:11311
export ROS_HOSTNAME=172.172.1.101
export ROS_IP=172.172.1.101

最后

以上就是兴奋画板为你收集整理的多个Docker容器通过Ros通信的全部内容,希望文章能够帮你解决多个Docker容器通过Ros通信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部