美文网首页
技术分享 | Prometheus支持docker容器啦!

技术分享 | Prometheus支持docker容器啦!

作者: 阿木实验室 | 来源:发表于2021-07-01 09:57 被阅读0次

Docker简介

Docker是以Docker容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员设计的,用于构建,发布和运行分布式应用的平台。它是一个跨平台,可移植并且简单易用的容器解决方案。

Docker将应用程序与程序依赖都打包到镜像中,保持运行环境的一致性,真正做到“一次构建,随处运行”。

普罗米修斯的docker仿真镜像已经打包好了运行普罗米修斯仿真时所需的整个环境,将仿真镜像拉取下来即可立即开启仿真,通过VNC进行图形界面操作。

此处感谢wandgibaut的vnc_ros镜像,它是这里普罗米修斯docker仿真镜像的基础镜像。


file

普罗米修斯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 https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-6.19.107-Linux-x64

chmod 777 VNC-Viewer-6.19.107-Linux-x64

打开VNC

./VNC-Viewer-6.19.107-Linux-x64

下载QGC

wget https://s3-us-west-2.amazonaws.com/qgroundcontrol/latest/QGroundControl.AppImage

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


file

VNC连接

等容器跑起来(等待十秒钟左右)即终端显示如上图所示后,在VNC地址栏输入172.17.0.2:5901并敲回车


file

然后点击continue


file
然后输入密码 headless 并点击OK
file

进入后界面如下:


file

开始仿真

在容器内打开gnome终端(默认终端是gnome终端),按照prometheus wiki上启动相应仿真命令即可开始仿真,和在普通ubuntu上进行仿真操作一样。
下面是指点飞行仿真截图,直接在终端运行 roslaunch prometheus_gazebo sitl_control.launch 即可。


file
file
file
圆框穿越: file
二维码降落: file
astar避障: file

仿真启动后,本地电脑ubuntu上已经打开的QGC地面站会自动连上

停止容器

不想使用此容器后,在本机ubuntu上打开一个终端,用 sudo docker ps 命令查看此容器ID,(若容器停止后想查看容器ID用 sudo docker ps -a 命令查看)
下图中的红框内即是容器ID


file

然后用 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容器啦!

    Docker简介 Docker是以Docker容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系...

  • docker生态容器

    Docker容器生态 Docker生态:容器核心技术、平台技术、支持技术 容器核心技术:指的是container在...

  • locust+prometheus+grafana性能指标平台搭

    首先安装docker,然后在docker里创建grafana容器和prometheus容器,master机器数据采...

  • Docker系列技术分享(二) Docker基础操作

    上文 Docker系列技术分享(一) 容器技术和Docker[https://mp.weixin.qq.com/...

  • Spring Boot笔记(6)Docker

    五、Docker 1、简介 Docker是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编...

  • docker的简单学习

    五、Docker 1、简介 Docker是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编...

  • SpringBoot使用5--docker

    五、Docker 1、简介 Docker是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编...

  • 初识Docker

    Docker 1、简介 Docker是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编译成...

  • docker的学习总结

    一、docker简介 docker是一个开源的应用容器引擎;是一个轻量级容器技术; docker支持将软件编译成一...

  • 虚拟化技术之Docker

    什么是Docker? Docker是一个开源的应用容器引擎,是一个轻量级容器技术,Docker支持将软件编译成一个...

网友评论

      本文标题:技术分享 | Prometheus支持docker容器啦!

      本文链接:https://www.haomeiwen.com/subject/mahjultx.html