Docker最全教程——从理论到实战(十三)
前言
树莓派(Raspberry Pi)是一台卡片电脑(只有信用卡大小),我们可以使用树莓派做很多事情,比如智能家居的中控、航空器、BT下载器、挖矿机、智能机器人、小型服务器(花生壳+网站)等等。
目前,支持 Linux 的 IoT 设备越来越多,比如本文中的树莓派。而Docker,在物联网这块,也提供了一个优秀的解决方案。一方面,真正做到了一次编译,到处运行(包括各种loT设备),而且还很轻量,另一方面,镜像的差异化更新可以减轻低带宽网络上的压力, 减少连接设备所需的时间量和降低故障概率,使更频繁地应用更新成为可能。同时,Docker在边缘计算这块也大有可为。物联网这块,这是个长远的话题,我们后续再来探讨。

树莓派和Docker
什么是树莓派
树莓派(Raspberry Pi)是一台卡片电脑(只有信用卡大小),其系统基于Linux。可以安装Windows 10 IoT。
注意
树莓派虽小,可是五脏俱全!连上网线,接上鼠标键盘显示器,就是一台微型电脑了!我们可以使用树莓派做很多事情,比如智能家居的中控、航空器、BT下载器、挖矿机、智能机器人、小型服务器(花生壳+网站)等等。
官方网站:
树莓派官网有很多实验项目,有兴趣的朋友可以去多多尝试:
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最全教程——从理论到实战(十三)的更多相关文章
- Docker最全教程——从理论到实战(八)
在本系列教程中,笔者希望将必要的知识点围绕理论.流程(工作流程).方法.实践来进行讲解,而不是单纯的为讲解知识点而进行讲解.也就是说,笔者希望能够让大家将理论.知识.思想和指导应用到工作的实际场景和实 ...
- Docker最全教程——从理论到实战(七)
在本系列教程中,笔者希望将必要的知识点围绕理论.流程(工作流程).方法.实践来进行讲解,而不是单纯的为讲解知识点而进行讲解.也就是说,笔者希望能够让大家将理论.知识.思想和指导应用到工作的实际场景和实 ...
- Docker最全教程——从理论到实战(六)
托管到腾讯云容器服务 托管到腾讯云容器服务,我们的公众号“magiccodes”已经发布了相关的录屏教程,大家可以结合本篇教程一起查阅. 自建还是托管? 在开始之前,我们先来讨论一个问题——是自建 ...
- Docker最全教程——从理论到实战(五)
往期内容链接 Docker最全教程——从理论到实战(一) Docker最全教程——从理论到实战(二) Docker最全教程——从理论到实战(三) Docker最全教程——从理论到实战(四) 本篇教程持 ...
- Docker最全教程——从理论到实战
Docker最全教程——从理论到实战(一) Docker最全教程——从理论到实战(二) Docker最全教程——从理论到实战(三) Docker最全教程——从理论到实战(四) Docker最全教程—— ...
- Docker最全教程——从理论到实战(一)
容器是应用走向云端之后必然的发展趋势,因此笔者非常乐于和大家分享我们这段时间对容器的理解.心得和实践. 本篇教程持续编写了2个星期左右,只是为了大家更好地了解.理解和消化这个技术,能够搭上这波车. 你 ...
- Docker最全教程---从理论到实战
目录 前言 随着生产力的发展尤其是弹性架构的广泛应用(比如微服务),许多一流开发者都将应用托管到了应用容器上,比如Google.微软.亚马逊.腾讯.阿里.京东和新浪. 从未来的发展方向来看,容器引擎将 ...
- Docker最全教程——从理论到实战(二十二)
前言 最近正在抽时间编写k8s的相关教程,很是费时,等相关内容初步完成后,再和大家分享.对于k8s,还是上云更为简单.稳定并且节省成本,因此我们需要对主流云服务的容器服务进行了解,以便更好地应用于生产 ...
- Docker最全教程——从理论到实战(十五)
前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...
- Docker最全教程——从理论到实战(四)
往期内容链接 https://www.cnblogs.com/codelove/p/10030439.html https://www.cnblogs.com/codelove/p/10036608. ...
随机推荐
- layui table 表头和内容数据不能对齐
个人博客 地址:http://www.wenhaofan.com/article/20181224153019 今天使用layui table方法渲染时出现了个莫名其妙的错误 正常情况table应该是 ...
- Linux服务器配置GPU版本的pytorch Torchvision TensorFlow
最近在Linux服务器上配置项目,项目需要使用GPU版本的pytorch和TensorFlow,而且该项目内会同时使用TensorFlow的GPU和CPU. 在服务器上装环境,如果重新开始,就需要下载 ...
- 常用 PostgreSQL 脚本
数据定义 数据库 -- 创建数据库 -- https://www.postgresql.org/docs/current/static/multibyte.html -- database_name, ...
- c#画图之柱形图
public JsonResult DrawBarChart() { #region 允许配置项 //定义宽高 , width = ; //边缘位置留白 ; ; ; ; //辅助线距离顶部的距离 ; ...
- vue实现打印功能
通过npm 安装插件 1.安装 npm install vue-print-nb --save 2.引入 安装好以后在main.js文件中引入 import Print from 'vue-pri ...
- 指数ETF基金的组合分析方法初探
本文在Creative Commons许可证下发布 试想一下,大多数基金“推荐”的配置策略都假设某种股票/债券组合.如果我们想寻求成本最小收益最高的组合(以yahoo finance上的数据来分析,因 ...
- 在 Nest.js 中使用 MongoDB 与 TypeORM
在 Nest.js 中使用 MongoDB 与 TypeORM 首先要在 database 文件夹里建立DatabaseModule模块文件, // database/database.module. ...
- MySQL 8 在一台机器上运行多个MySQL实例
可以为每个实例使用一个MySQL Server二进制程序,也可以为不同实例使用同一个MySQL Server二进制程序. 不管哪一种选择,部分参数可能需要不同配置,以避免多个实例之间的冲突. 可能需要 ...
- C# monitor keyboard and mouse actions based on MouseKeyHook.
1.Install-package MouseKeyHook 2. using Gma.System.MouseKeyHook; using System; namespace ConsoleApp1 ...
- 每隔n步循环删除,返回最后一个元素
题目:有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置.以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0-& ...