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

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科技的教育和智能裝備,讓機器人研發更高效!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章