在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,并启动完成安装

你可能感兴趣的:(在Raspberry Pi 3上运行Docker环境)