【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
前面我们讨论过树莓派4b安装ros的问题,当时的解决方案就是利用docker来安装ros。我们都知道,每一个ros版本都是和特定的ubuntu版本bind在一起的。但是树莓派4b的镜像是一直在update的,不可能一直停在过去的某一个版本上。那这个时候,怎么解决在树莓派4b上安装ros的问题呢,方法就是docker。docker相当于在file system这一层做了软件隔离。也就是说,通过docker,我们可以让不同版本的ros、不同版本的debian、不同版本的ubuntu同时运行,并且赋予它们不同的额度的cpu资源、ram资源、存储资源和网络资源,这就是docker的优势所在。
当然不仅如此,docker的另外一个优势就是软件部署。在嵌入式开发板部署软件是一个麻烦的事情,但是有了docker,我们就可以把相关的软件、配置文件和资源打包成一个镜像来处理。这样有了这个打包好的镜像之后,就再也不用因为软件配置的事情而烦恼了。
1、下载docker软件
下载的方法比较简单,直接运行一行命令就可以。它会首先下载一个脚本,然后执行这个脚本,
sudo apt-get install docker
sudo curl -sSL https://get.docker.com | sh
2、执行最简单的hello-world程序
docker是可以执行最简单的hello-world程序,使用方法需要在sudo模式下进行,
sudo docker run hello-world
如果本地没有hello-world,它会从remote server下载一个hello-world,只要server上面有这样的程序或者是镜像。
3、执行一个ubuntu程序
我们可以重新下载一个ubuntu镜像,并且进入到里面的bash,
sudo docker run -it ubuntu bash
进入之后,用户名就变成了root,如果要退出这个镜像,那么输入exit返回即可。这样就可以回到之前的树莓派4b环境中。
4、安装ros
如果在树莓派4b下面pull一个ros,也是比较简单的,只需要执行这条命令即可,
sudo docker pull ros:kinetic-robot
下载好了docker命令之后,就可以进入到它的bash环境当中了,
sudo docker run -it ros:kinetic-robot /bin/bash
那怎么确认当前环境已经有ros的相关功能了呢?最简单的方法,就是查找一下catkin的相关命令。操作方法就是输入cat,然后按一下tab键,
feixiaoxing@raspberrypi:~/Desktop $ sudo docker run -it ros:kinetic-robot /bin/bash
root@81471a505d2e:/# cat
cat catkin_find catkin_init_workspace catkin_package_version catkin_test_changelog
catchsegv catkin_find_pkg catkin_make catkin_prepare_release catkin_test_results
catkin_create_pkg catkin_generate_changelog catkin_make_isolated catkin_tag_changelog catkin_topological_order