Docker简介
Docker是以Docker容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员设计的,用于构建,发布和运行分布式应用的平台。它是一个跨平台,可移植并且简单易用的容器解决方案。
Docker将应用程序与程序依赖都打包到镜像中,保持运行环境的一致性,真正做到“一次构建,随处运行”。
普罗米修斯的docker仿真镜像已经打包好了运行普罗米修斯仿真时所需的整个环境,将仿真镜像拉取下来即可立即开启仿真,通过VNC进行图形界面操作。
此处感谢wandgibaut的vnc_ros镜像,它是这里普罗米修斯docker仿真镜像的基础镜像。
普罗米修斯docker仿真镜像实际操作
Linux平台是Docker原生支持平台,在Linux上使用Docker可以得到最佳的用户体验,所以这里介绍在ubuntu下使用普罗米修斯docker仿真镜像的操作。
ubuntu本地环境配置
安装docker
sudo apt-get update
sudo apt-get install docker
sudo apt install docker.io
下载VNC
wget www.realvnc.com/download/fi…
chmod 777 VNC-Viewer-6.19.107-Linux-x64
打开VNC
./VNC-Viewer-6.19.107-Linux-x64
下载QGC
wget s3-us-west-2.amazonaws.com/qgroundcont…
chmod 777 QGroundControl.AppImage
打开QGC
./QGroundControl.AppImage
拉取普罗米修斯docker镜像(此步骤需要一些时间,耐心等待即可)
sudo docker pull shixiaohan/prometheus:publish-2
(备注:shixiaohan/prometheus:publish-2 镜像内所用Prometheus代码为2021年5月份时的Prometheus代码)
创建容器
镜像拉取完后,运行下面命令 sudo docker run -p 5901:5901 shixiaohan/prometheus:publish-2
VNC连接
等容器跑起来(等待十秒钟左右)即终端显示如上图所示后,在VNC地址栏输入172.17.0.2:5901并敲回车 然后点击continue 然后输入密码 headless 并点击OK
进入后界面如下:
开始仿真
在容器内打开gnome终端(默认终端是gnome终端),按照prometheus wiki上启动相应仿真命令即可开始仿真,和在普通ubuntu上进行仿真操作一样。 下面是指点飞行仿真截图,直接在终端运行 roslaunch prometheus_gazebo sitl_control.launch 即可。 圆框穿越: 二维码降落: astar避障:
仿真启动后,本地电脑ubuntu上已经打开的QGC地面站会自动连上
停止容器
不想使用此容器后,在本机ubuntu上打开一个终端,用 sudo docker ps 命令查看此容器ID,(若容器停止后想查看容器ID用 sudo docker ps -a 命令查看) 下图中的红框内即是容器ID 然后用 sudo docker stop 容器ID 命令可停止此容器。
再次启动此容器时注意
后面再使用启动此容器直接使用命令 sudo docker start 容器ID ,然后VNC连接即可,不需要再运行 sudo docker run -p 5901:5901 shixiaohan/prometheus:publish-2 命令,此命令会基于 shixiaohan/prometheus:publish-2 镜像再创建一个全新的容器,而不是启动之前已经创建的容器。
删除容器
在已经把对应容器停止的情况下,可以用命令 docker rm 容器ID 删除此容器,注意如果之前没有对此容器生成镜像备份,删除此容器后原本自己在此容器内所作的修改便无法再找回来。删除容器后,想再次创建一个全新的容器,可以用命令 sudo docker run -p 5901:5901 shixiaohan/prometheus:publish-2 即可基于 shixiaohan/prometheus:publish-2 镜像创建一个新的容器然后开始仿真。
删除普罗米修斯docker仿真镜像
可以使用命令 docker rmi -f shixiaohan/prometheus:publish-2 强制删除 shixiaohan/prometheus:publish-2 这个镜像,若再想使用此镜像用命令 sudo docker pull shixiaohan/prometheus:publish-2 拉取到本地ubuntu上即可。
- End –
技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。 阿木实验室致力于前沿IT科技的教育和智能装备,让机器人研发更高效!
今天的文章技术分享 | Prometheus支持docker容器啦!分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/19618.html