大概这篇博文发表之后,应该算是我个人的第一篇翻译作品了,翻译的可能不是非常到位,望各位看官大刀砍过来。

原文链接:http://resin.io/blog/docker-on-raspberry-pi-in-4-simple-steps/

下面是文章正文部分



更新:我们已经放出了ARM下Docker 0.7.2,点击阅读很多其它

一周曾经,我们放出了树莓派上安装Docker的相关教程,那么大家在兴奋之余也反馈了非常多问题诸如安装过程非常麻烦。当中也有的反馈说“为什么不直接提供一个镜像呢?”

我们依据反馈看了下我们的选择,依据下面两个原因做出了一个艰难的决定(不提供完整的硬盘镜像):首先,一个已经安装完Arch Linux的用户必须抹掉他现有的系统。其次,每次Arch Linux或者Docker放出一个新的镜像我们就不得不反复这个过程(镜像制作)。相反,我们重构并打包了当中的关键组件,把近一百步的安装过程简化到了简单的四步。

以下的步骤三是一个简单的命令行安装方式。他有什么作用呢?非常easy,他把我们放在GitHub上的一系列的包下载到你的机器上并进行安装,不多不少,刚刚好。

简化后的步骤

1. 插入SD卡,而且将Arch Linux安装步骤到SD卡上。

2. 启动你的树莓派,找到它的ip地址(怎样设置请戳【设置树莓派的IP地址】)而且通过SSH以root账户登录,Arch Linux默认的rootpassword是root,假设您已经改动过rootpassword,请用改动过的rootpassword。

3. 运行以下的命令:

curl https://raw.github.com/resin-io/docker-install-script/master/install.sh | sh

4. 重新启动你的树莓派,然后好好享受树莓派上的Docker吧!

树莓派上的Docker使用

一旦你完毕了Docker的安装。你应该非常想立马就继续做点儿啥,而不是坐享其成。进一步的工作包含安装一个主要的镜像,对于这一步,我们已经放出了resin/rpi-raspbian,从这里你能够直接在你的树莓派開始使用Docker了:

1. 开启一个Docker的守护进程:

docker -d &

2. 开启IPv4转发:

sysctl -w net.ipv4.ip_forward=1

3. 下载基础镜像并开启shell终端:

docker run -t -i resin/rpi-raspbian /bin/bash

下载docker的演示样例项目

我们创建了一个能够打包在Docker容器中的演示样例project[Google's Coder Project](http://googlecreativelab.github.io/coder/),要想执行的话,须要从前几步的shell里退出来。然后执行例如以下命令:

docker run -d -p 8081:8081 resin/rpi-google-coder

运行完上述命令之后,你就应该能够通过在浏览器里输入https://<树莓派的ip地址>:8081进入Google Coder開始hacking了。

别忘了要使用HTTPS安全链接哟,普通的HTTP连接会被Google Coder挂起的。

怎样让Dockerfiles在树莓派上跑起来

我们已经公布了一个Raspbian基础镜像。因为大部分的Dockerfiles是基于Ubuntu的镜像,同一时候呢Raspbian跟Ubuntu还是非常像的(这里注明一下:Ubuntu是Debian Linux的一个衍生版,而Raspbian又是一个针对树莓派的改动定制版Debian,所以大家能够自行想象是否类似了),基本上仅仅须要将命令"FROM
ubuntu"改为"FROM resin/rpi-raspbian"然后构建就好。

假设这个改动无效,那应该就是你的Dockerfiles有点儿小问题,希望你可以攻克这个难关然后顺利的制作一个树莓派的镜像。



因为针对X86-64位制作的镜像是无法在树莓派上顺利工作的(CPU架构和指令集不一样。这里不再赘述),反之亦然。我们会询问你是否要为树莓派创建一个新的镜像,你可以通过使用 rpi-\*作为前缀,方便其它人可以清楚的看到。同一时候也希望Docker团队可以为不同的系统提供很多其它的原生支持。但如今的话,这个也已经够用了。

接下来干啥

我们为可以实现以一种超级简单的方式将Docker在你的树莓派上执行起来而自豪,我们也确信Docker在嵌入式领域的潜力是非常大的,甚至有可能会比它在云端的潜力更大。我们也希望可以在Docker的官方索引中看到树莓派的专属镜像。



完毕了这个里程碑。我们Resin.io团队的工作重点将会集中在全力准备Resin.io:The Product 12月份的alpha版本号上。应该能刚好赶在圣诞节前。

我们也会撰写很多其它的关于resin.io以及它背后的理念的文章,希望能够借此回答一些突如其来的问题比方“嗯,Resin.io是啥?”。



我们也希望能够倾听到来自各位读者的关于我们前进的方向以及我们的产品的潜在应用的各种建议,欢迎联系我们。

简单四步開始树莓派上的Docker之旅的更多相关文章

  1. 从2月14号開始,上传AppStore会碰到:Failed to locate or generate matching signing assets

    从2月14号開始,上传AppStore时可能会碰到这个问题: Failed to locate or generate matching signing assets Xcode attempted ...

  2. cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第一步---開始界面&amp;关卡选择

    /* 说明: **1.本次游戏实例是<cocos2d-x游戏开发之旅>上的最后一个游戏,这里用3.0重写并做下笔记 **2.我也问过木头本人啦.他说:随便写,第一别全然照搬代码:第二能够说 ...

  3. 改变,从跨出第一步開始——记海大ITAEM团队首次IT讲座掠影

    之前以前写了"行动带来力量,周三(5月7日)晚IT讲座通知",昨晚已经跨出了第一步.让我们还是看举办者骆宏的QQ空间的文字吧.尽管未能到现场助兴,但看着海大学子在不断挑战自己,进而 ...

  4. 简单的刚開始学习的人配置Android SDK+ADT+Eclipse

    1.下载JDK.Android SDK和Eclipse(Eclipse 版本号最好新一些) 注意:下载的SDK最好和后面的ADT配套,否则Eclipse可能会报错. 如:SDK 21.0.1 相应 A ...

  5. 在树莓派上读取土壤湿度传感器读书-python代码实现及常见问题(全面简单易懂)

    本篇文章简单介绍了如何在树莓派上配置土壤湿度传感器以读取土壤湿度(以百分比的形式出现)及代码实现. 主要包含有以下4个模块: 一.土壤湿度传感器常见类型及介绍 二.实验所需设备 三.设备连线方式与代码 ...

  6. LeetCode 206 Reverse Linked List(反转链表)(Linked List)(四步将递归改写成迭代)(*)

    翻译 反转一个单链表. 原文 Reverse a singly linked list. 分析 我在草纸上以1,2,3,4为例.将这个链表的转换过程先用描绘了出来(当然了,自己画的肯定不如博客上面精致 ...

  7. Win10上运行Docker

    1. 前言 Docker最近推出了可以运行在Win10和Mac上的稳定版本,让我们赶紧来体验一下. Docker发布Mac和Windows 的目标非常简单——开发者可以更加简单方便地在研发机器上使用D ...

  8. 树莓派也跑Docker和.NET Core

    树莓派是什么 树莓派就是一个卡片大小的迷你电脑. 安装系统 有了电脑,我们当然得先安装系统. 系统下载 https://www.raspberrypi.org/downloads/raspbian/ ...

  9. 从零開始开发Android版2048 (四) 分数、重置、结束

    这一篇的内容主要是在上一篇的基础上,增加分数计算(包含当前分数和最高分数).游戏结束的推断以及游戏界面的重置这三个部分的功能. 一.分数的计算和保存          首先,2048这个游戏的分数包含 ...

随机推荐

  1. mysql ga rc beta alpha区别

    alpha  暗示这是一个以展示新特性为目的的版本,存在比较多的不稳定因素,还会向代码中添加新新特性 beta 以后的beta版.发布版或产品发布中,所有API.外部可视结构和SQL命令列均不再更改, ...

  2. C# 中提取表中的某一项数据

  3. 【ELK】【docker】【elasticsearch】1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安装ik分词器

    系列文章:[建议从第二章开始] [ELK][docker][elasticsearch]1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安 ...

  4. javax.mail 遇到501 mail from address must be same as authorization user 的問題

    使用不同的兩個帳戶发送email时,第一个账户可以发送成功,但到第二个账户的时候就报出了501 mail from address must be same as authorization user ...

  5. Maven最佳实践:Maven仓库

    什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文 件,如log4j.jar,junit. ...

  6. word排版汇总

    1.iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf 的文档,而且可以将XML.Html文件转化为PDF ...

  7. C#调用DLL各种传参

    C++#define JNAAPI extern "C" __declspec(dllexport) // C方式导出函数 typedef struct { int osVersi ...

  8. [Android Pro] Android源码编译后,再重编译所需要做的清理工作

    1.在源码目录的根目录下,make clean; 2.进到源码的\linux\kernel\目录下,执行make mrproper: 3.再退回到根目录,执行source  build/envsetu ...

  9. Excel 批量快速合并相同的单元格:数据透视表、宏代码、分类汇总

    Excel 批量快速合并相同的单元格   在制作Excel表格的时候,为了使得自己制作的报表更加简洁明了,方便查阅,经常需要合并很多相同的单元格,如果有几千几万条记录需要合并的话,真的会让人发疯.怎样 ...

  10. [leetcode]Sum Root to Leaf Numbers @ Python

    原题地址:http://oj.leetcode.com/problems/sum-root-to-leaf-numbers/ 题意: Given a binary tree containing di ...