美文网首页
技术分享 | 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容器啦!

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