Docker最全教程之树莓派和Docker(十五)
前言
树莓派(Raspberry Pi)是一台卡片电脑(只有信用卡大小),我们可以使用树莓派做很多事情,比如智能家居的中控、航空器、BT下载器、挖矿机、智能机器人、小型服务器(花生壳+网站)等等。
目前,支持 Linux 的 IoT 设备越来越多,比如本文中的树莓派。而Docker,在物联网这块,也提供了一个优秀的解决方案。一方面,真正做到了一次编译,到处运行(包括各种loT设备),而且还很轻量,另一方面,镜像的差异化更新可以减轻低带宽网络上的压力, 减少连接设备所需的时间量和降低故障概率,使更频繁地应用更新成为可能。同时,Docker在边缘计算这块也大有可为。物联网这块,这是个长远的话题,我们后续再来探讨。
![](https://img.haomeiwen.com/i643827/66a9ee01b2354176.png)
树莓派和Docker
什么是树莓派
树莓派(Raspberry Pi)是一台卡片电脑(只有信用卡大小),其系统基于Linux。可以安装Windows 10 IoT。
注意:树莓派虽小,可是五脏俱全!连上网线,接上鼠标键盘显示器,就是一台微型电脑了!我们可以使用树莓派做很多事情,比如智能家居的中控、航空器、BT下载器、挖矿机、智能机器人、小型服务器(花生壳+网站)等等。
官方网站:
树莓派官网有很多实验项目,有兴趣的朋友可以去多多尝试:
https://projects.raspberrypi.org/zh-CN/projects
![](https://img.haomeiwen.com/i643827/6b131e570b4adef9.png)
树莓派的价格也非常便宜,基本上200多就可以入手一台,具体大家可以上淘宝:
![](https://img.haomeiwen.com/i643827/799c6c12204ff768.jpg)
![](https://img.haomeiwen.com/i643827/24c6888548cb73ff.png)
相关参数(3B+)如下所示:
![](https://img.haomeiwen.com/i643827/6552c675c1484a9b.png)
艺术照看过了,我们上几张实景图:
![](https://img.haomeiwen.com/i643827/4262dc9a89a8e2b4.jpg)
![](https://img.haomeiwen.com/i643827/0af253748f43a1de.jpg)
开启SSH
SSH我们在之前已经讲过,主要是用于远程登录。不过在自带的树莓派系统之中,开启SSH比较简单。我们可以使用sudo raspi-config 进入配置界面:
![](https://img.haomeiwen.com/i643827/15f7b16ded1163cb.png)
然后选择【Advanced Options】:
![](https://img.haomeiwen.com/i643827/7f7f72d004fe4b5b.png)
选择【A4 SSH】来启用SSH服务。
![](https://img.haomeiwen.com/i643827/2661e3660a4c2e4d.png)
安装Docker
和之前一样,我们使用ssh来安装Docker。这里我们使用快捷脚本安装:
1. 使用ssh连接树莓派
![](https://img.haomeiwen.com/i643827/eeb0e20a819f14a7.png)
2. 使用快捷脚本安装。
如有疑问,可以回顾之前的教程,这里我们直接执行以下脚本:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
![](https://img.haomeiwen.com/i643827/93b657d0462c0188.png)
注意:“dpkg ”是“Debian Packager ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。dpkg是Debian软件包管理器的基础,在刚才安装docker时,dpkg被中断,我们可以使用“sudo dpkg --configure -a”命令来重新配置和释放所有的软件包。
![](https://img.haomeiwen.com/i643827/e2c9f7a5b2045b73.png)
然后再次执行安装脚本:
![](https://img.haomeiwen.com/i643827/680526aee912b4e2.jpg)
直到安装成功:
![](https://img.haomeiwen.com/i643827/e81dbb1c26c41e3d.png)
运行.NET Core Demo
Docker在物联网这块,提供了一个优秀的解决方案。一方面,真正做到了一次编译,到处运行(包括各种loT设备),而且还很轻量,另一方面,镜像的差异化更新可以减轻低带宽网络上的压力, 减少连接设备所需的时间量和降低故障概率,使更频繁地应用更新成为可能。同时,Docker在边缘计算这块也大有可为。这里,我们不做深入的挖掘,后续我会专门讲述。
Docker安装成功后,我们可以运行一个demo,来检测下我们的成果——比如运行.NET Core 的官方Demo,具体命令如下所示:
docker run --name aspnetcore_sample --rm -it -p 8000:80 microsoft/dotnet-samples:aspnetapp
![](https://img.haomeiwen.com/i643827/8d9dc75bee92050a.png)
主机端口我们绑定了8000端口,因此我们可以通过IP和端口访问aspnetcore_sample:
![](https://img.haomeiwen.com/i643827/52adcf88d4d671cc.png)
访问速度非常快,在某些场景下,我们可以配合花生壳基于树莓派搭建一个简单的站点,然后利用容器的特级权限来搞些不一样的事情。说到容器特级权限,接下来我们在TeamCity的搭建教程中来穿插讲解。
沟通渠道:编程交流群<85318032> 产品交流群<897857351>
如果喜欢作者的文章,请关注“magiccodes”订阅号以便第一时间获得最新内容。本文版权归作者和湖南心莱信息科技有限公司共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
![](https://img.haomeiwen.com/i643827/8211d51ec3cff62e.jpg)