docker下ros外设使用与远程配置
ros远程配置
假设条件
docker容器网络配置
docker 容器ros网络配置
主机A的ros网络配置
网络永久配置
ros远程配置
假设条件
A电脑中安装了ros, B电脑安装了docker,docker中安装了ros系统。即B电脑为机器人内部使用,B电脑为master,故需采用A电脑进行远程调试与控制。
docker容器网络配置
由于docker内执行ros,故主要需要配置网络,使docker内的网络与外界通信,可采用端口映射功能。这里为通用性,可采用容器与主宿机网络端口共用,采用如下指令进入容器,则可使容器内与宿主B电脑的ip与端口共享。
sudo docker run -it \
--network host \
ros:kinetic-robot /bin/bash
其中--network host为容器的网络配置,可使开启的容器与宿主机共享IP和端口。
查看B电脑的当前的IP地址,采用ifconfig命令如下:
pi@raspberrypi:~/docker_ros $ ifconfig
docker0: flags=4099mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:91:6a:c3:a7 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0