开发者社区> 猫饭先生> 正文

关于Docker在树莓派上的5件事

简介: 本文讲的是关于Docker在树莓派上的5件事【编者的话】在树莓派上使用Docker需要知道5件事——Docker领袖Alex Ellis@alexellisuk。
+关注继续查看
本文讲的是关于Docker在树莓派上的5件事【编者的话】在树莓派上使用Docker需要知道5件事——Docker领袖Alex Ellis@alexellisuk

如果你是Docker新手,请访问我的Docker实践在线研讨会:Hands-On Docker labs

1、仅用一个命令安装Docker

今天,你没必要准备大量技术来让Docker运行在你的设备上。一个命令就足够了(通过apt-get在后台执行)——你甚至可以记住它:

在Raspbian输入:
curl -sSL get.docker.com |sh

提供你正在运行Debian或衍生系统,现在可以用了。Docker项目的人,从源头上,通过围绕单元测试和集成测试的CI质量检验关方法,创建docker/docker

2、知道你的架构

树莓派的硬件架构叫ARM,和普通PC、笔记本或云实例都不一样。

什么意思呢?一个系统建立的二进制文件在另一个系统无法执行。
$ uname -a
Linux alexellis 4.4.19-v7+ #906 SMP Tue Aug 23 15:53:06 BST 2016 armv7l GNU/Linux

$ uname -a
Linux 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

上面是树莓派和Azure云Ubuntu实例的输出。

所有的树莓派都兼容ARMv6架构,简单起见,我建议:在基于ARMv6的镜像,并且仅从官方发布的像Golang,Nodejs,InfluxDB等,目标架构一致的二进制文件上,构建代码。

什么意思呢?意思是不能用docker run -d -p 80:80 nginx:latest——继续阅读,解决方法在后面。

3、(还)不能相信任何人

这话说的挺尖锐——但在一个连婴儿监视器和灯泡都能被利用来执行DDOS攻击的环境下,得聪明点。
  • 别用非官方的镜像。

没有真正的官方镜像,但resin/rpi-raspbian被上千的设备使用并且由resin.io策划。我建议基于这个来创建你所有的镜像。

Docker团队正致力于在armhf名空间下的一系列准官方镜像,你将在docker/docker的 Dockerfile.armhf中看见那些镜像是怎么构建的。

Docker公司剑桥团队的Anil,告诉我他的团队如何获得ARM服务器:为了创建一个build-farm来支持ARM设备,他们采用过时的方式。那个架构将在公共Docker Hub上,启用自动构建支持。
  • 不要运行任何不是自己编译的二进制文件。
即便是花2天时间来编译PhantomJS——它仍然比依赖一个你一点都不了解的人在互联网上发布的tar.gz,要好。

Adrian Mouat写的Docker安全,提出毒镜像的术语:一个被恶意软件污染的镜像。
我在GitHub上提供了一系列Dockerfiles,给常用软件,例如:Node.js,Python,Consul和Nginx:

GitHub: alexellis/docker-arm

如果想为例如Prometheus.ioNode.jsGolang,等软件,创建Docker镜像,那么:去他们的下载页面,找到官方的ARM二进制包,然后加入我们前面提到的基础镜像里面。

如果不存在二进制文件,那么花时间来从源码重建,不要冒险。如果遇到问题,google搜索构建指南——一般5分钟就可以找到了。

4、体验

树莓派擅长与硬件接口,通过它的40排针。可以直接或通过附加板卡和任何额定电压为3.3v/5v的电气部件通讯。制造商,例如Pimoroni,有许多目的——建立传感器和LED板,意味着没有电线或者复杂的代码裤。

你在Dockercon和Container.Camp上看过我的物联网演示吗?

视频

那是为DockerCon预先录制的演示。

里面所有的Dockerfiles,Python代码和构建说明都是公开的。没有树莓派的物理硬件支持,这些都是做不到的。

1.jpg

2.jpg

观看现场演示请联系@AgilePBoro@docker #ctmtech的@alexellisuk2016年9月24日,下午12:04。链接:
https://twitter.com/comparemkt ... 5Etfw

5、创建一个超级计算机

建立一个集群,没有比在Docker1.12用Swarm模式更容易的了。相信我的话,因为我花了几个星期来重建Swarm,Consul二进制文件等,来给LinuxUser杂志安装一个28个CPU的Swarm

现在我在管理器和工作台上各键入一个命令。甚至管理器也可以执行,这在原来的swarm模式是很难实现的。

在Container.Camp上看Docker的报告——建立一个超级计算机确实需要2个命令。
3.jpg

想要一个安全的@docker集群?没问题,它是内置的:2个命令和你的设置@containercamp6:38 PM - 9 Sep 2016

第二个最常被问道的的问题是:可以用Pi集群运行minecraft超级服务器吗?简单的回答是不能,长的回答是肯定的。
你可能不会在新的,有更好FPS率的Pi上,玩一个图形密集度高的游戏,而且可能不能让Crome浏览器加载得更快,但它是一个非常宝贵的学习工具。

你可以在一个架构上发布你的分布式应用程序,而不是一组特定的服务器上。例如:
  • 在实体硬件上发布应用程序
  • 模拟网络/电源故障
  • 针对Docker远程API编码
  • 跟踪瓶颈,并显示缩放不同服务增加(或减少)吞吐量。

接下来?

想更深入地了解Docker,DevOps和容器,在推特上联系我@alexellisuk

想学Docker?访问我的在线研讨会:Hands-On Docker labs

原文链接:http://blog.alexellis.io/5-things-docker-rpi/(翻译:陈晏娥)

原文发布时间为:2016-10-02

本文作者:陈晏娥

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:关于Docker在树莓派上的5件事

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
树莓派docker搭建
树莓派docker搭建
98 0
树莓派4B使用Docker部署SpringBoot项目——(五)使用花生壳进行公网访问
树莓派4B使用Docker部署SpringBoot项目——(五)使用花生壳进行公网访问
182 0
树莓派4B使用Docker部署SpringBoot项目——(四)Docker部署SpringBoot项目
树莓派4B使用Docker部署SpringBoot项目——(四)Docker部署SpringBoot项目
231 0
树莓派4B使用Docker部署SpringBoot项目——(三)使用Docker制作JDK8镜像
树莓派4B使用Docker部署SpringBoot项目——(三)使用Docker制作JDK8镜像
327 0
树莓派4B使用Docker部署SpringBoot项目——(二)使用docker安装mysql
树莓派4B使用Docker部署SpringBoot项目——(二)使用docker安装mysql
152 0
树莓派4B使用Docker部署SpringBoot项目——(一)树莓派安装docker
树莓派4B使用Docker部署SpringBoot项目——(一)树莓派安装docker
115 0
树莓派 + Docker - 轻松实现人脸识别应用
人脸识别技术已经被广泛应用在众多场景中。今天我们将利用Docker容器在树莓派上快速打造一个人脸识别应用。
16571 0
DockOne微信分享( 九十五):树莓派上的Docker集群管理
本文讲的是DockOne微信分享( 九十五):树莓派上的Docker集群管理【编者的话】随着IOT市场的火热发展,Docker天然的轻量级以及帮助业务快速重构的特性,将会在IOT领域迎来巨大发展潜力,甚至有可能会比它在云端的潜力更大。
3326 0
Docker Review - docker 容器 常用命令(下)
Docker Review - docker 容器 常用命令(下)
5 0
+关注
猫饭先生
文章
问答
视频
文章排行榜
最热
最新
相关课程
更多
相关电子书
更多
Docker@Alibaba——超大规模Docker化的实战经验
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关镜像