Docker最全教程之树莓派和Docker(十五)
<h1><strong>前言</strong></h1><p>树莓派(Raspberry Pi)是一台卡片电脑(只有信用卡大小),我们可以使用树莓派做很多事情,比如智能家居的中控、航空器、BT下载器、挖矿机、智能机器人、小型服务器(花生壳+网站)等等。</p>
<p><strong>目前,支持 Linux 的 IoT 设备越来越多,比如本文中的树莓派。而Docker,在物联网这块,也提供了一个优秀的解决方案。一方面,真正做到了一次编译,到处运行(包括各种loT设备),而且还很轻量,另一方面,镜像的差异化更新可以减轻低带宽网络上的压力, 减少连接设备所需的时间量和降低故障概率,使更频繁地应用更新成为可能。同时,Docker在边缘计算这块也大有可为。物联网这块,这是个长远的话题,我们后续再来探讨。</strong></p>
<p> </p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227133640833-1988611150.png" alt=""></p>
<p> </p>
<h1>树莓派和Docker</h1>
<h2>什么是树莓派</h2>
<p>树莓派(Raspberry Pi)是一台卡片电脑(只有信用卡大小),其系统基于Linux。可以安装Windows 10 IoT。</p>
<p> </p>
<p><span style="color: rgba(51, 102, 255, 1)"><strong>注意</strong></span></p>
<p><span style="color: rgba(51, 102, 255, 1)"><em>树莓派虽小,可是五脏俱全!连上网线,接上鼠标键盘显示器,就是一台微型电脑了!我们可以使用树莓派做很多事情,比如智能家居的中控、航空器、BT下载器、挖矿机、智能机器人、小型服务器(花生壳+网站)等等。</em></span></p>
<p>官方网站:</p>
<p>https://www.raspberrypi.org/</p>
<p>树莓派官网有很多实验项目,有兴趣的朋友可以去多多尝试:</p>
<p>https://projects.raspberrypi.org/zh-CN/projects</p>
<p> <img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227133843727-1702957263.png" alt=""></p>
<p> </p>
<p>树莓派的价格也非常便宜,基本上200多就可以入手一台,具体大家可以上淘宝:</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227133921146-353141260.jpg" alt=""></p>
<p> </p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227133933368-1462400221.png" alt=""></p>
<p> </p>
<p>相关参数(3B+)如下所示:</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227133949037-1562318664.png" alt=""></p>
<p> </p>
<p>艺术照看过了,我们上几张实景图:</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134039115-158431423.jpg" alt=""></p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134106523-805116161.jpg" alt=""></p>
<p> </p>
<p><img class="img_loading" src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==" alt="" data-copyright="0" data-ratio="1.3328125" data-s="300,640" data-src="https://mmbiz.qpic.cn/mmbiz_jpg/Mt5QjqkFG0poNgJx5V3S9ibav9TYQibZuXHRRgrSbOHqxVgo7XQIlDRjnHWym6uon4TZWMkE42K84BKlAQicRHOicA/640?wx_fmt=jpeg" data-type="jpeg" data-w="1280"></p>
<h2>开启SSH</h2>
<p>SSH我们在之前已经讲过,主要是用于远程登录。不过在自带的树莓派系统之中,开启SSH比较简单。我们可以使用sudo raspi-config 进入配置界面:</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134151821-1114884348.png" alt=""></p>
<p> </p>
<p>然后选择【Advanced Options】:</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134205793-1590365975.png" alt=""></p>
<p> </p>
<p>选择【A4 SSH】来启用SSH服务。</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134227828-1903384384.png" alt=""></p>
<p> </p>
<h2>安装Docker</h2>
<p>和之前一样,我们使用ssh来安装Docker。这里我们使用快捷脚本安装:</p>
<p>1. 使用ssh连接树莓派</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134245369-250982922.png" alt=""><img class="img_loading" src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==" alt="" data-copyright="0" data-ratio="0.3480791618160652" data-s="300,640" data-src="https://mmbiz.qpic.cn/mmbiz_png/Mt5QjqkFG0poNgJx5V3S9ibav9TYQibZuXl2e2vpAaAD9cEJLOhPzl13P594vVCnVNCRX92UribNqGKnrBdyJSjrA/640?wx_fmt=png" data-type="png" data-w="859"></p>
<p> </p>
<p>2. 使用快捷脚本安装。</p>
<p>如有疑问,可以回顾之前的教程,这里我们直接执行以下脚本:</p>
<p>curl -fsSL https://get.docker.com -o get-docker.sh</p>
<p>sh get-docker.sh</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134415189-1905118410.png" alt=""> </p>
<p><span style="color: rgba(51, 102, 255, 1)"><strong>注意:</strong></span></p>
<p><span style="color: rgba(51, 102, 255, 1)"><em>“dpkg ”是“Debian Packager ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。dpkg是Debian软件包管理器的基础,在刚才安装docker时,dpkg被中断,我们可以使用“sudo dpkg --configure -a”命令来重新配置和释放所有的软件包。</em></span></p>
<p> <img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134433840-1374070540.png" alt=""></p>
<p><img class="img_loading" src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==" alt="" data-copyright="0" data-ratio="0.27727645611156687" data-s="300,640" data-src="https://mmbiz.qpic.cn/mmbiz_png/Mt5QjqkFG0poNgJx5V3S9ibav9TYQibZuXfBMnEHbVJBNRvVBibSPibzgHGBj3Bp4zLuXLFZXiaVkmCU8QVjSTuHvsA/640?wx_fmt=png" data-type="png" data-w="1219"> </p>
<p>然后再次执行安装脚本:</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134455333-868340263.jpg" alt=""><img class="img_loading" src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==" alt="" data-copyright="0" data-ratio="0.27727645611156687" data-s="300,640" data-src="https://mmbiz.qpic.cn/mmbiz_png/Mt5QjqkFG0poNgJx5V3S9ibav9TYQibZuXaIvFq0TH9UMCqc7YJZA62OggFaVMx2MdhGukviamwbSlAd52psYxElA/640?wx_fmt=png" data-type="png" data-w="1219"></p>
<p> </p>
<p>直到安装成功: </p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134515607-443585677.png" alt=""><img class="img_loading" src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==" alt="" data-copyright="0" data-ratio="0.6835443037974683" data-s="300,640" data-src="https://mmbiz.qpic.cn/mmbiz_jpg/Mt5QjqkFG0poNgJx5V3S9ibav9TYQibZuXfmkHhCYgPNpEzfhkbI1Ew1LCzVic1wgic9QM9AWia0lgyGic8L8RjBliauA/640?wx_fmt=jpeg" data-type="jpeg" data-w="553"></p>
<p> </p>
<h2><strong>运行.</strong><strong>NET Core Demo</strong></h2>
<p>Docker在物联网这块,提供了一个优秀的解决方案。一方面,真正做到了一次编译,到处运行(包括各种loT设备),而且还很轻量,另一方面,镜像的差异化更新可以减轻低带宽网络上的压力, 减少连接设备所需的时间量和降低故障概率,使更频繁地应用更新成为可能。同时,Docker在边缘计算这块也大有可为。这里,我们不做深入的挖掘,后续我会专门讲述。</p>
<p>Docker安装成功后,我们可以运行一个demo,来检测下我们的成果——比如运行.NET Core 的官方Demo,具体命令如下所示:</p>
<p>docker run --name aspnetcore_sample --rm -it -p 8000:80 microsoft/dotnet-samples:aspnetapp</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134535490-2088114767.png" alt=""> </p>
<p>主机端口我们绑定了8000端口,因此我们可以通过IP和端口访问aspnetcore_sample:</p>
<p><img src="https://img2018.cnblogs.com/blog/70544/201902/70544-20190227134554208-223705494.png" alt=""></p>
<p>访问速度非常快,在某些场景下,我们可以配合花生壳基于树莓派搭建一个简单的站点,然后利用容器的特级权限来搞些不一样的事情。说到容器特级权限,接下来我们在TeamCity的搭建教程中来穿插讲解。</p>
</div>
<div id="MySignature" role="contentinfo">
作者:雪雁<br>出处:http://www.cnblogs.com/codelove/
<br>如果喜欢作者的文章,请关注【CodeSpirit-码灵】公众号以便第一时间获得最新内容。本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。<br><b>静听鸟语花香,漫赏云卷云舒。</b>
<br>
<img src="https://images.cnblogs.com/cnblogs_com/codelove/315887/o_251224070213_%E5%85%AC%E4%BC%97%E5%8F%B7.jpg" width="100" height="100"><br><br>
来源:https://www.cnblogs.com/codelove/p/10443221.html
頁:
[1]