Docker学习记录

最近也是把基于aurco的视觉室内定位做好了,摄像头通过检测aruco码就可以获得相对距离和角度,再带入整个机器人的地图中就可以起到一个很好的辅助定位的功能。不过确定就是aruco标签的样式是无法更改的,就一张A4纸贴在墙面上非常影响美观,所以说下一步应该就是进行物体检测例如检测到一幅画、一面墙壁、一个楼梯等特征比较明显的物体来辅助定位。

要实现物体检测我觉得光靠opencv的级联分类器是远远不够的,所以项目肯定是要往速度学习上靠拢的。项目组正好有一台正在使用的GPU服务器,我粗略地看了下配置:cpu是两路志强E5-2640 v4 @ 2.40GHz,8路gtx1080ti,250G内存。

目前有个问题就是,服务器目前运行着项目组其他成员的一些训练程序而且我们用的编程环境可能不同就会造成cudatensorflow环境错误。因此我们要使用docker作为训练环境的整体。本文就是记录一些docker的使用方法,作为初学者,记录一下还是很有必要的。


安装

简介:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 LinuxWindows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker 安装

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

下载地址:Docker Desktop for Windows - Docker Hub

选择 stable 稳定版下载,傻瓜式安装过程,一键到底。

电脑重启后打开 Docker,点击右下角任务栏 Docker 的 Dashboard。

在终端输入docker后看到如下信息则证明安装成功:

使用

最近在公司3楼布置了一圈AP网络,用于巡检机器人的调试,但是我们对这个网络的容量一直不是很清楚,今天在github上看到了librespeed-speedtest这个项目,并且这个项目支持docker部署,所以就拿来实践一下,顺带测试一下wifi局域网吞吐容量。docker地址

  • 机器人网络示意图

  • speedtest docker项目

部署

简书

docker部署起来也是超简单,2分钟就好了

1.镜像下载:

1
docker pull adolfintel/speedtest

网络不好建议重复操作,若显示类似于下方文字,则说明下载完成:

2.启动docker

1
docker run -d -p 8080:80 adolfintel/speedtest:latest
  • -d,后台运行(建议使用)
  • -p,端口映射(可自行修改其它端口)

此时,可以在之前的 Dashboard 中看到后台运行的容器。本机能打开网页 http://localhost:8080 也能说明服务启动成功。

3.测速

测速过程就非常傻瓜了~

局域网的其它设备打开网页 http://[PC IP]:8080 即可进行测速。如果不能访问,可能是防火墙、路由器设置或其它方面的问题。

1
http://192.168.2.182:8080/

4.设置DMZ主机

让您得以将一部计算机公开显露在互联网上,使所有上传的封包全数转向您指定的计算机。这对您在运行一些使用非特定内传通信端口(incoming port)的应用程序时会相当有用。请谨慎使用。

通俗来说就是电脑通过路由器链接到公司局域网,路由器的ip和电脑局域网ip不同(百层nat狗头),要把电脑设置为DMZ主机之后访问路由器ip就可以访问到测速网页了。

docker命令

1
2
3
4
5
6
7
8
9
10
11
12
13
登录服务器http://192.168.221.11/
ssh zwj@AISRV
查看docker运行列表
docker ps
运行docker
docker run -d -p 8081:80 adolfintel/speedtest:latest
停止docker
docker stop compassionate_knuth
进入docker 启动docker
cd work
cd comprehen/
./docker_start.sh
./docker_into.sh