Ubuntu20.04+Docker+ROS Noetic 可视化容器管理工具Portainer

1. 安装docker

官网教学安装网址:Install Docker Engine on Ubuntu | Docker Documentation

2. 安装noetic镜像

ros镜像网址

https://hub.docker.com/r/osrf/ros

https://hub.docker.com/r/osrf/ros/tags

sudo docker pull osrf/ros:noetic-desktop-full

3. 创建容器

3.1 宿主机开启xhost,使得docker里面可视化界面(vscode rviz)

xhost(参数)
//+:关闭访问控制,允许任何主机访问本地的X服务器;
//-:打开访问控制,仅允许授权清单中的主机访问本地的X服务器。

 注意:每次重启容器,主机都得执行一遍,否则容器内可视化报错。

3.2 创建宿主机数据文件夹,作为与容器的数据容器卷

3.3 创建容器,挂载数据容器卷

创建容器

sudo docker run -it -v /home/nuc/noetic_container_data_1:/data --device=/dev/dri --group-add video --volume=/tmp/.X11-unix:/tmp/.X11-unix  --env="DISPLAY=$DISPLAY" --env="QT_X11_NO_MITSHM=1" --name=noetic_ros_2 osrf/ros:noetic-desktop-full  /bin/bash

必须加上:

--env="QT_X11_NO_MITSHM=1"

否则docker内部无法可视化(主机必须先执行 xhost + 命令)

查看容器
 

sudo docker ps //查看正在运行的容器

sudo docker ps -a //查看所有的容器

测试宿主机与容器数据是否同步

  • 初始状态 

  • 主机创建一个文件: 

容器出现该文件:

  • 容器创建一个文件 

主机出现该文件: 

3.4 退出容器及再次进入该容器

退出

查看容器ID

再次进入 

sudo docker start -ia [container_id]

关闭正在运行的容器

sudo docker stop id

4. ROS Noetic 测试

4.1 在容器内开终端(错误,环境没有同步)

sudo docker exec -it your-docker-id /bin/bash

4.2 利用tmux

(43条消息) tmux常用命令及快捷方式_放风筝的猪的博客-CSDN博客

安装

sudo apt-get update
sudo apt install tmux

使用tmux分屏

tmux

然后先按ctrl+b,紧接着按c,下方会出现两个bash

先按ctrl+b,紧接着按p,返回上一个bash;

先按ctrl+b,紧接着按n,返回下一个bash;

左边打开roscore,右边终端打开rviz

#left
roscore

#right
rviz

 关闭tmux的一个窗口

先按ctrl+b,紧接着按x,再按y;

4.2 查看小乌龟

按ctrl+b,紧接着按c,一共建3个窗口

第一个窗口输入

roscore

第二个窗口输入

rosrun turtlesim turtlesim_node

 第三个窗口输入

rosrun turtlesim turtle_teleop_key

然后就可以通过方向按键控制小乌龟

安装可视化容器管理工具Portainer 

sudo docker pull portainer/portainer

sudo docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name prtainer portainer/portainer

打开IE浏览器,输入ip:9000端口,新建账户和密码后,即可进入如下docker管理界面,有了该工具,可以省去我们再次学习docker相关的控制台命令,在可视化界面查看已安装的docker容器和运行中的docker镜像。

 至此安装成功!

参考:

Ubuntu20.04+Docker+ROS Noetic+LOAM环境配置

Ubuntu20.04如何搭建ROS开发环境_ubuntu20.04 ros docker_weixin_39563394的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_45897172/article/details/131599195