关于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.io Node.js Golang ,等软件,创建Docker镜像,那么:去他们的下载页面,找到官方的ARM二进制包,然后加入我们前面提到的基础镜像里面。

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

4、体验

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

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

视频

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

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

1.jpg

2.jpg

观看现场演示请联系 @AgilePBoro@docker  # ctmtech 的@ alexellisuk 2016年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个命令和你的设置 @containercamp 6: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件事

相关文章
|
网络协议 Ubuntu 关系型数据库
树莓派ubuntu20.04+Docker+Nginx+Wordpress个人网站搭建全纪录(超详细,入门友好篇)
前言: 本文基于树莓派4B平台,搭载Ubuntu Server 20.04 LTS版本服务器系统,通过将树莓派服务器连接Ipv6公网网络,利用Docker工具,部署Nginx反向代理与Wordpress网站管理系统,实现网站搭建与异地访问。同时用到了域名管理、DDNS、MySQl等工具。本文将从服务器镜像烧录开始,将网站搭建过程进行完整的说明记录。 (经验来自互联网,多次试错学习后总结如下,以供参考。) 关键词: 树莓派; Ubuntu ; Ipv6 ;Docker
504 0
树莓派ubuntu20.04+Docker+Nginx+Wordpress个人网站搭建全纪录(超详细,入门友好篇)
|
Ubuntu Oracle Java
树莓派4B使用Docker部署SpringBoot项目——(三)使用Docker制作JDK8镜像
树莓派4B使用Docker部署SpringBoot项目——(三)使用Docker制作JDK8镜像
660 0
树莓派4B使用Docker部署SpringBoot项目——(三)使用Docker制作JDK8镜像
|
消息中间件 Linux 测试技术
树莓派docker搭建
树莓派docker搭建
248 0
树莓派docker搭建
|
关系型数据库 MySQL Java
树莓派4B使用Docker部署SpringBoot项目——(二)使用docker安装mysql
树莓派4B使用Docker部署SpringBoot项目——(二)使用docker安装mysql
493 0
树莓派4B使用Docker部署SpringBoot项目——(二)使用docker安装mysql
|
Java Docker 容器
树莓派4B使用Docker部署SpringBoot项目——(一)树莓派安装docker
树莓派4B使用Docker部署SpringBoot项目——(一)树莓派安装docker
185 0
树莓派4B使用Docker部署SpringBoot项目——(一)树莓派安装docker
|
机器学习/深度学习 计算机视觉 Docker
树莓派 + Docker - 轻松实现人脸识别应用
人脸识别技术已经被广泛应用在众多场景中。今天我们将利用Docker容器在树莓派上快速打造一个人脸识别应用。
16942 0
|
数据可视化 物联网 Docker
使用Portainer或者UI for Docker可视化管理你的树莓派容器
本文讲的是使用Portainer或者UI for Docker可视化管理你的树莓派容器【编者的话】Stefan Scherer是Docker海盗船长,微软MVP。专注于Docker技术在ARM体系中应用。
4345 0
|
Kubernetes 物联网 数据中心
DockOne微信分享( 九十五):树莓派上的Docker集群管理
本文讲的是DockOne微信分享( 九十五):树莓派上的Docker集群管理【编者的话】随着IOT市场的火热发展,Docker天然的轻量级以及帮助业务快速重构的特性,将会在IOT领域迎来巨大发展潜力,甚至有可能会比它在云端的潜力更大。
3402 0
|
19天前
|
Docker 容器
进入Docker容器中
进入Docker容器中
32 2
|
1月前
|
Java Go 开发者
Docker容器技术简介及其与Go语言的结合点
【2月更文挑战第23天】本文首先概述了Docker容器技术的核心概念和优势,接着探讨了Go语言与Docker容器技术的结合点。通过阐述Docker的轻量级、可移植性和版本控制等特性,以及Go语言在容器化应用中的优势,本文旨在说明两者结合能够实现更高效、灵活的应用开发和部署。