在Raspberry Pi 3上运行Docker环境

tl;dr
众所周知,Docker环境使应用具有天然的隔离性,且将应用与Host OS解耦,让应用程序更加便于移动部署。
这次希望在Raspberry Pi 3上也使用Docker来部署,经过多次筛选,最终选择了HypriotOS做为Host OS


选择合适的Host OS

Raspberry Pi 3是基于ARM架构的板子,标准的x86环境的OS是不能使用的,所以选择Host OS就是基于如下因素:

  1. 支持ARM架构
  2. 原生支持Docker,刷到TF卡就可以用

根据这个标准选出来三个OS,各优缺点如下:

  • RancherOS:原生支持Docker,包括PID1都封装成Docker,非常喜欢的一种模式。但是,不支持Raspberry Pi 3上的WIFI模块,一个小的IoT设备拖一根网线实在是碍眼,只能放弃。
  • ResinOS:同样是原生支持Docker的OS,而且不只支持Raspberry Pi的板子,还可以在很多开源的板子上运行。但是,底层HOST OS只能运行一个Docker容器,这个让我很呵呵。
  • HypriotOS:最后选的是这个,原生Docker,支持WIFI

HypriotOS安装

HypriotOS的FAQ,建议先简单看一下。
主要参考文档:https://github.com/hypriot/flash

  1. HypriotOS Github的releases模块里下载最新的Image
  2. 下载https://github.com/hypriot/flash的Sample目录下的配置模板,并根据需要修改如下文件:
  • wlan-user-data.yaml:用于Cloud-Init做系统的配置初始化,不只是第一次,每次系统启动都会按这个配置文件的要求配置系统环境)
  • no-uart-config.txt:用于配置Raspberry的物理组件的参数
  1. 下载flash配置脚本
curl -O https://raw.githubusercontent.com/hypriot/flash/master/$(uname -s)/flash
chmod +x flash
  1. 刷IMAGE到TF卡
flash --userdata sample/wlan-user-data.yaml --bootconf sample/no-uart-config.txt hypriotos-rpi-v1.7.1.img
  1. 把TF卡插入Raspberry,并启动完成安装
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,384评论 19 139
  • 写这篇文章主要是为了今后毕业论文素材上的整理,同时对docker进行巩固温习。大纲: docker简介docker...
    胡图仙人阅读 12,184评论 2 96
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 9,835评论 0 27
  • 年少时喜欢有人陪伴,无论做什么、去哪里,都希望扭头就能看到相熟的面孔。 长大后明白,年少时所渴望的陪伴,是希冀有人...
    妍兮阅读 9,293评论 58 123
  • OOTB:Out Of The Bottle,神灯类型。这个类型故事需要具备以下三个要素: Wish(愿望),Sp...
    林奇伍德阅读 13,800评论 2 7