1 从阿里云上传下载docker image
- 访问cr.console.aliyun.com,进入自己的容器镜像服务器/实例列表/镜像仓库/基本信息
根据《操作指南》操作,就可以实现上传或下载镜像文件
2 执行镜像文件
- sudo docker images # 查看镜像文件
- sudo docker run -itd [IAMGE ID] # 在后台执行镜像文件
- sudo docker ps -a # 查看后台运行的容器
- sudo docker exec -it [CONTAINER ID] /bin/bash # 在指定容器中执行命令/bin/bash
3 在Docker Container中执行ros包中的节点
- 找到catkin_ws所在目录,并执行source ./devel/setup.bash,初始化catkin环境
- roscore #执行rosmaster
- rosrun 包名 节点名 # 执行包中节点
若想有多个terminal,就执行多次2和3步骤
4 安装ros:noetic Docker Image
就是说安装一个Docker ros Image,在上面将我们的包部署在ros的镜像文件中,这样就可以发布给别人使用并展现我们所编码的ros应用程序
- sudo docker pull ros:noetic # 默认从hub.docker.com中获取ros:noetic镜像文件
- sudo docker images # 查看当前系统中的docker镜像文件
- sudo docker run -itd -v$(pwd):/data ros:noetic # 将宿主机和虚拟机的文件系统关联起来,$(pwd)为宿主机上catkin_ws所在目录,而/data为ros容器中的/data所在目录。执行之后,在/data中就会有宿主机上的文件
- 在/下创建catkin_ws文件夹,并将/data下的src拷贝到当前目录下,执行catkin_make失败
- echo ‘source /opt/ros/neotic/setup.bash‘ >> /root/.bashrc # 添加到bash环境变量中
- cat /root/.bashrc # 检查是否添加成功
- source /root/.bashrc
- 再次执行catkin_make就可以成功编译代码了
- exit推出terminal环境