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