简单四步開始树莓派上的Docker之旅
大概这篇博文发表之后,应该算是我个人的第一篇翻译作品了,翻译的可能不是非常到位,望各位看官大刀砍过来。
原文链接: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之旅的更多相关文章
- 从2月14号開始,上传AppStore会碰到:Failed to locate or generate matching signing assets
从2月14号開始,上传AppStore时可能会碰到这个问题: Failed to locate or generate matching signing assets Xcode attempted ...
- cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第一步---開始界面&关卡选择
/* 说明: **1.本次游戏实例是<cocos2d-x游戏开发之旅>上的最后一个游戏,这里用3.0重写并做下笔记 **2.我也问过木头本人啦.他说:随便写,第一别全然照搬代码:第二能够说 ...
- 改变,从跨出第一步開始——记海大ITAEM团队首次IT讲座掠影
之前以前写了"行动带来力量,周三(5月7日)晚IT讲座通知",昨晚已经跨出了第一步.让我们还是看举办者骆宏的QQ空间的文字吧.尽管未能到现场助兴,但看着海大学子在不断挑战自己,进而 ...
- 简单的刚開始学习的人配置Android SDK+ADT+Eclipse
1.下载JDK.Android SDK和Eclipse(Eclipse 版本号最好新一些) 注意:下载的SDK最好和后面的ADT配套,否则Eclipse可能会报错. 如:SDK 21.0.1 相应 A ...
- 在树莓派上读取土壤湿度传感器读书-python代码实现及常见问题(全面简单易懂)
本篇文章简单介绍了如何在树莓派上配置土壤湿度传感器以读取土壤湿度(以百分比的形式出现)及代码实现. 主要包含有以下4个模块: 一.土壤湿度传感器常见类型及介绍 二.实验所需设备 三.设备连线方式与代码 ...
- LeetCode 206 Reverse Linked List(反转链表)(Linked List)(四步将递归改写成迭代)(*)
翻译 反转一个单链表. 原文 Reverse a singly linked list. 分析 我在草纸上以1,2,3,4为例.将这个链表的转换过程先用描绘了出来(当然了,自己画的肯定不如博客上面精致 ...
- Win10上运行Docker
1. 前言 Docker最近推出了可以运行在Win10和Mac上的稳定版本,让我们赶紧来体验一下. Docker发布Mac和Windows 的目标非常简单——开发者可以更加简单方便地在研发机器上使用D ...
- 树莓派也跑Docker和.NET Core
树莓派是什么 树莓派就是一个卡片大小的迷你电脑. 安装系统 有了电脑,我们当然得先安装系统. 系统下载 https://www.raspberrypi.org/downloads/raspbian/ ...
- 从零開始开发Android版2048 (四) 分数、重置、结束
这一篇的内容主要是在上一篇的基础上,增加分数计算(包含当前分数和最高分数).游戏结束的推断以及游戏界面的重置这三个部分的功能. 一.分数的计算和保存 首先,2048这个游戏的分数包含 ...
随机推荐
- EBS安装完成后,对数据库相关配置的改动
EBS安装完成后,对数据库相关配置的改动 1.转为ASM,数据文件,控制文件,redo log,archived log从文件系统转移至ASM 2.禁用resource manager 由于发现系统的 ...
- JQUERY AJAX无刷新异步上传文件
AJAX无刷新上传文件并显示 http://blog.csdn.net/gao3705512/article/details/9330637?utm_source=tuicool jQuery For ...
- Html.BeginForm() vs Ajax.BeginForm() in MVC3
我们知道,BeginForm()方法能创建一个Form标签,因此可以结合表单级的方法,在这个页面中.我一直在考虑Html.BeginForm()方法和Ajax.BeginForm()方法在MVC3中有 ...
- linux驱动移植的重要数据结构
转载:http://www.embeddedlinux.org.cn/html/jishuzixun/201304/14-2538.html 对于嵌入式 Linux 系统来说,有各种体系结构的处理器和 ...
- Selenium2+python自动化44-元素定位参数化(find_element)
前言 元素定位有八种方法,这个能看到这一篇的小伙伴都知道了,那么有没有一种方法,可以把八种定位合为一种呢?也就是把定位的方式参数化,如id,name.css等设置为一个参数,这样只需维护定位方式的参数 ...
- [runtime] iOS-Runtime-Headers
Dynamically Generated iOS Headers https://github.com/nst/iOS-Runtime-Headers Here are iOS Objective- ...
- java 查询oracle数据库所有表DatabaseMetaData的用法
DatabaseMetaData的用法(转) 一 . 得到这个对象的实例 Connection con ; con = DriverManager.getConnection(url,userName ...
- python文件目录操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目 ...
- 《Java核心技术 卷II 高级特性(原书第9版)》
<Java核心技术 卷II 高级特性(原书第9版)> 基本信息 原书名:Core Java Volume II—Advanced Features(Ninth Edition) 作者: ( ...
- 数学图形之罗马曲面(RomanSurface)
罗马曲面,像是一个被捏扁的正四面体. 本文将展示罗马曲面的生成算法和切图,使用自己定义语法的脚本代码生成数学图形.相关软件参见:数学图形可视化工具,该软件免费开源.QQ交流群: 367752815 维 ...