技术分享 | 详解在docker中更新镜像——基于Prometheus

Docker的特性是“一次构建,随处运行”,它使得用户可以随处运行自己的项目,不再困于设备和操作系统等。上篇文章我们介绍了docker的下载和使用,在ubuntu中,直接使用命令即可安装docker sudo apt-get update sudo apt-get install docker sudo apt install docker.io 拉取Prometheus的镜像:sudo docker pull shixiaohan/prometheus:publish-2 构建容器:sudo docker run -p 5901:5901 shixiaohan/prometheus:publish-2 使用VNC进入容器的图形界面,然后就可以在容器中运行Prometheus项目了! 详细操作可以参看(上次docker文章的链接)

本篇文章将继续介绍docker的使用,相信研究者们会在阿木实验室提供的Prometheus镜像创建的容器下,根据自己的需求做出一些自己的项目改进或是环境配置,为了长久的保存或是资料分享考虑,容器显然已经无法满足我们了,所以我们有必要学会创建自己的镜像!接下来小编将会为大家介绍镜像的更新和远程分享。 更新镜像 在容器中完成我们需要的环境配置或项目更改后,然后退出容器,注意不要关闭容器。 然后用sudo docker ps查看容器id,如图所示。 file 然后使用命令 Sudo docker commit –m “xxxxxxx” –a “xxxxxx” 123456789 aa:bb 参数说明: -m “xxxxxxxxxx” : 提交的描述信息 -a “xxxxxxxxxxx” : 指定镜像作者 123456789 : 容器ID,即你想要将其更新为镜像的容器id aa:bb : 指定创建的目标镜像和TAG。 如图: file 然后可以使用docker images命令查看新镜像是否创建成功。 file 至此,就创建出来了用户自己的镜像,再创建新容器时就可以直接使用了。

docker仓库管理 创建出我们自己的镜像后,如果想分享给其他开发者,则需要上传仓库。仓库(Repository)是集中存放镜像的地方。目前 Docker 官方维护了一个公共仓库 Docker Hub。大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。 首先在 https://hub.docker.com 免费注册一个 Docker 账号。 注册完账号后,在终端输入sudo docker login --username=xxxxxxx, username是你刚创建的用户名,如下图所示。 file

登入官方仓库后,就可以进行一些镜像搜寻、下载、或是上传等操作。

在官方仓库查找镜像: sudo docker search ubuntu file NAME:镜像仓库源的名称 DESCRIPTION:镜像的描述 OFFICIAL:是否docker官方发布 STARS:表示点赞量 AUTOMATED:自动构建

将镜像下载到本地 sudo docker pull 镜像NAME:TAG 拉取镜像时,如果未指定标签,则会拉取最新版本的镜像。

推送镜像 通过 docker push 命令将自己的镜像推送到 Docker Hub。 sudo docker push xxxxxx(此处一定是你在docker hub上的username!)/prometheus:publish-3 file 可以使用命令,添加镜像名,注意此处镜像还是同一个镜像,注意镜像ID。 docker tag ubuntu:18.04(原镜像名和标签) username/ubuntu:18.04(新镜像名和标签) file 上传 file 上传成功后,可以登录docker hub的网页查看,如图。 file

退出docker hub sudo docker logout

测试DOCKER中的PROMETHEUS项目的demo 下面是我们测试了Prometheus项目中的demo在docker中的运行情况,包括控制模块、规划模块、目标检测模块、SLAM模块。使用两台设备,以便对比,一台是双系统,CPU为4核,运行内存8G的笔记本电脑,一台是双系统,CPU为16核,运行内存16G的台式电脑。 控制模块demo: sitl_pos_control.launch在笔记本中能正常打开,CPU运行基本到100%,发布命令就直接炸机;台式电脑中运行也非常不稳定,CPU所占也不到50%,这应该跟电脑性能无关,是docker本身的问题; sitl_control.launch在笔记本中可以正常运行,但会出现卡顿,台式电脑中运行的很好; 规划模块demo: sitl_apf_2dlidar.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_apf_rgbd.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_vfh_2dlidar.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_astar_2dlidar.alunch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_astar_3dlidar.alunch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_astar_rgbd.alunch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_hybrid_astar_3dlidar.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_fast_planning_3dlidar.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_fast_planning_rgbd.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 目标检测模块demo: sitl_aruco_detection.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_circle_crossing.launch两台电脑均无法成功运行。 sitl_color_line_following.launch两台电脑均无法成功运行。 sitl_gimbal_circle.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_gimbal_control.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_gimbal_tracking.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_gimbal_tracking_no_vision.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_kcf_detection.launch笔记本中无法运行,台式电脑可以正常运行。 sitl_landing_moving_target.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_landing_on_aruco_marker.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_landing_static_target.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_number_detection.launch两台电脑均无法正常运行; sitl_siamrpn_detection.launch两台电脑均无法正常运行; SLAM模块demo: sitl_octomap.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。 sitl_rtabmap.launch在4核笔记本中可以运行,比较卡顿;在台式电脑中,运行流畅。

  • End -

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。

阿木实验室致力于前沿IT科技的教育和智能装备,让机器人研发更高效!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值