前言

树莓派(Raspberry Pi)是一台卡片电脑(只有信用卡大小),我们可以使用树莓派做很多事情,比如智能家居的中控、航空器、BT下载器、挖矿机、智能机器人、小型服务器(花生壳+网站)等等。

目前,支持 Linux 的 IoT 设备越来越多,比如本文中的树莓派。而Docker,在物联网这块,也提供了一个优秀的解决方案。一方面,真正做到了一次编译,到处运行(包括各种loT设备),而且还很轻量,另一方面,镜像的差异化更新可以减轻低带宽网络上的压力, 减少连接设备所需的时间量和降低故障概率,使更频繁地应用更新成为可能。同时,Docker在边缘计算这块也大有可为。物联网这块,这是个长远的话题,我们后续再来探讨。

树莓派和Docker

什么是树莓派

树莓派(Raspberry Pi)是一台卡片电脑(只有信用卡大小),其系统基于Linux。可以安装Windows 10 IoT。

注意

树莓派虽小,可是五脏俱全!连上网线,接上鼠标键盘显示器,就是一台微型电脑了!我们可以使用树莓派做很多事情,比如智能家居的中控、航空器、BT下载器、挖矿机、智能机器人、小型服务器(花生壳+网站)等等。

官方网站:

https://www.raspberrypi.org/

树莓派官网有很多实验项目,有兴趣的朋友可以去多多尝试:

https://projects.raspberrypi.org/zh-CN/projects

树莓派的价格也非常便宜,基本上200多就可以入手一台,具体大家可以上淘宝:

相关参数(3B+)如下所示:

艺术照看过了,我们上几张实景图:

开启SSH

SSH我们在之前已经讲过,主要是用于远程登录。不过在自带的树莓派系统之中,开启SSH比较简单。我们可以使用sudo raspi-config 进入配置界面:

然后选择【Advanced Options】:

选择【A4 SSH】来启用SSH服务。

安装Docker

和之前一样,我们使用ssh来安装Docker。这里我们使用快捷脚本安装:

1. 使用ssh连接树莓派

2. 使用快捷脚本安装。

如有疑问,可以回顾之前的教程,这里我们直接执行以下脚本:

curl -fsSL https://get.docker.com -o get-docker.sh

sh get-docker.sh

注意:

“dpkg ”是“Debian Packager ”的简写。为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都使用 “dpkg”,例如 “Ubuntu”、“Knoppix ”等。dpkg是Debian软件包管理器的基础,在刚才安装docker时,dpkg被中断,我们可以使用“sudo dpkg --configure -a”命令来重新配置和释放所有的软件包。

然后再次执行安装脚本:

直到安装成功:

运行.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

主机端口我们绑定了8000端口,因此我们可以通过IP和端口访问aspnetcore_sample:

访问速度非常快,在某些场景下,我们可以配合花生壳基于树莓派搭建一个简单的站点,然后利用容器的特级权限来搞些不一样的事情。说到容器特级权限,接下来我们在TeamCity的搭建教程中来穿插讲解。

作者:雪雁
出处:http://www.cnblogs.com/codelove/

Docker最全教程——从理论到实战(十三)的更多相关文章

  1. Docker最全教程——从理论到实战(八)

    在本系列教程中,笔者希望将必要的知识点围绕理论.流程(工作流程).方法.实践来进行讲解,而不是单纯的为讲解知识点而进行讲解.也就是说,笔者希望能够让大家将理论.知识.思想和指导应用到工作的实际场景和实 ...

  2. Docker最全教程——从理论到实战(七)

    在本系列教程中,笔者希望将必要的知识点围绕理论.流程(工作流程).方法.实践来进行讲解,而不是单纯的为讲解知识点而进行讲解.也就是说,笔者希望能够让大家将理论.知识.思想和指导应用到工作的实际场景和实 ...

  3. Docker最全教程——从理论到实战(六)

    托管到腾讯云容器服务 托管到腾讯云容器服务,我们的公众号“magiccodes”已经发布了相关的录屏教程,大家可以结合本篇教程一起查阅.   自建还是托管? 在开始之前,我们先来讨论一个问题——是自建 ...

  4. Docker最全教程——从理论到实战(五)

    往期内容链接 Docker最全教程——从理论到实战(一) Docker最全教程——从理论到实战(二) Docker最全教程——从理论到实战(三) Docker最全教程——从理论到实战(四) 本篇教程持 ...

  5. Docker最全教程——从理论到实战

    Docker最全教程——从理论到实战(一) Docker最全教程——从理论到实战(二) Docker最全教程——从理论到实战(三) Docker最全教程——从理论到实战(四) Docker最全教程—— ...

  6. Docker最全教程——从理论到实战(一)

    容器是应用走向云端之后必然的发展趋势,因此笔者非常乐于和大家分享我们这段时间对容器的理解.心得和实践. 本篇教程持续编写了2个星期左右,只是为了大家更好地了解.理解和消化这个技术,能够搭上这波车. 你 ...

  7. Docker最全教程---从理论到实战

    目录 前言 随着生产力的发展尤其是弹性架构的广泛应用(比如微服务),许多一流开发者都将应用托管到了应用容器上,比如Google.微软.亚马逊.腾讯.阿里.京东和新浪. 从未来的发展方向来看,容器引擎将 ...

  8. Docker最全教程——从理论到实战(二十二)

    前言 最近正在抽时间编写k8s的相关教程,很是费时,等相关内容初步完成后,再和大家分享.对于k8s,还是上云更为简单.稳定并且节省成本,因此我们需要对主流云服务的容器服务进行了解,以便更好地应用于生产 ...

  9. Docker最全教程——从理论到实战(十五)

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...

  10. Docker最全教程——从理论到实战(四)

    往期内容链接 https://www.cnblogs.com/codelove/p/10030439.html https://www.cnblogs.com/codelove/p/10036608. ...

随机推荐

  1. 深入浅出 .NET C# 反射技术

    反射这个词听起来就很牛逼是吧? 嗯的确,反射是比较高级的特性,只有语言基础很扎实的Dev们才应该使用它. 搞点反射,可以提高程序的灵活性.可扩展性.耦合度. 反射这东西,是为了动态地运行时加载,相比于 ...

  2. c#学习心得(2)

    1.foreach与IEnumerable和IEnumerator的结合使用????? using System; using System.Collections; class Program { ...

  3. HTML(多行)文本超过部分隐藏,末尾显示(...)

    HTML(多行)文本超过部分隐藏,末尾显示(...) <!DOCTYPE html> <html> <head> <meta charset="ut ...

  4. excel 名次

    RANK.AVG 函数 全部显示 全部隐藏 返回一个数字在数字列表中的排位:数字的排位是其大小与列表中其他值的比值:如果多个值具有相同的排位,则将返回平均排位. 语法 RANK.AVG(number, ...

  5. windows系统安装python

    1.python3 下载 官网下载:https://www.python.org百度网盘下载:https://pan.baidu.com/s/1dH0UZg_7Q-YcppR0PjUfzQ提取码:xl ...

  6. cf1012B

    题意简述: 给定一个 n×m的矩阵,其中 q 个位置已经被填充. 有一条规则,如果 (r1,c1) ,(r1,c2),(r2,c1) 均被填充,则 (r2,c2) 也被填充.任何被其他三个位置生成的位 ...

  7. Java【第二课 扫描仪 & 布尔数据类型】

    一.Java扫描仪 为了更加方便的理解,我先将逻辑框图 这个有点像C语言的scan()的用法 import java.util.Scanner; //导入扫描仪 public class demo{ ...

  8. SpringBoot整合持久层技术--(三)Spring Data JPA

    简介: JPA(java Persistence API)和SpringData是两个范畴的概念.spring data jpa是spring公司下的spring data项目的一个模块. sprin ...

  9. 题解 AT5632 【Sum of Two Integers】

    在幼儿园的时候,我们就学习过把一个数分成\(a\)与\(b\),我们只需要用计算机来模拟这个过程就可以了. 我们先从奇数开始看起,以\(5\)为例: 我们可以发现,\(5\)可以分成\(1\)和\(4 ...

  10. 从零开始的JAVA(1).输入

    理一遍JAVA的输入和输出,跟C语言还是有点不用的,虽然以前学过一点.不过好像忘的一干二净了哈哈.从头来一遍把,这次跟着翁恺老师GOGO 1.输出语句:System.out.println();--快 ...