以树莓派和 Docker 的火热程度相信不须要在额外介绍了,本篇的计划就是在树莓派上学会如何使用 Docker。开局只有一块树莓派3,其他全靠下载 _(:з」∠)_
linux
树莓派官方在 2016 八月份时曾经发布一篇 DOCKER COMES TO RASPBERRY PI,宣布了 Docker 官方对树莓派的支持。 在这篇文章中有提到一个安装脚本 curl -sSL https://get.docker.com | sh
就能够安装好 Docker 了。 另外还贴出大神在 TWITTER 上 Show 由树莓派 Zero 组成的 Docker Swarm 集群。docker
一键安装脚本虽然方便,但直接 curl 远程执行脚本有安全隐患存在,手动安装也是必要的。在官方文档中,能够看到 Docker CE ARM 支持的发行版有 Debian 和 Ubuntu。shell
而在 Get Docker CE for Debian中能够明确的看到有对 Raspbian 的支持。json
OS requirements安全
To install Docker CE, you need the 64-bit version of one of these Debian or Raspbian versions:bash
- Stretch (stable) / Raspbian Stretch
- Jessie 8.0 (LTS) / Raspbian Jessie
- Wheezy 7.7 (LTS)
Docker CE is supported on both x86_64 (or amd64) and armhf architectures for Jessie and Stretch.服务器
这里跟着文档走就能够安装好 Docker 了(以 Raspbian Stretch 为例)。curl
安装以前能够先修改 Raspbian 的安装源为国内镜像,好比科大开源镜像,具体操做能够查看科大的帮助文件。还有一个选择就是阿里开源镜像,我的来讲推荐用阿里,毕竟首富家开的,仍是为大学节省点经费比较好。网站
apt
软件包索引:$ sudo apt-get update
复制代码
apt
经过 HTTPS 使用镜像仓库:$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
复制代码
$ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
复制代码
验证密钥 ID 是否为 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88。ui
$ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <docker@docker.com>
sub 4096R/F273FCD8 2017-02-22
复制代码
echo "deb [arch=armhf] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \ $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list
复制代码
$ sudo apt-get update
复制代码
$ sudo apt-get install docker-ce
复制代码
$ sudo usermod -aG docker $USER
复制代码
这样从新登陆 SSH 以后执行 docker 命令时就不须要加上 sudo
了。
修改 /etc/docker/daemon.json
文件,添加上 registry-mirrors 键值。
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
复制代码
修改保存以后重启 Docker 服务才能生效
$ sudo systemctl restart docker
复制代码
镜像地址是由 Docker 中国官方提供的,能够在中文网站上查看一些其余关于 Docker 的资料。须要注意的是虽然有提供中文文档,大部份内容仍然是英文,并且内容还有滞后,因此仍是看英文文档吧。
重启 Docker 以后,能够查看一下是否配置成功
$ sudo docker info
复制代码
若是有如下信息就表示镜像配置成功:
...
Registry Mirrors:
https://registry.docker-cn.com/
...
复制代码
最后,用容器向世界问好:
$ sudo docker run --rm hello-world
复制代码
若是使用 HypriotOS 直接下载好镜像写入 TF 卡启动树莓派就能够开始玩 Docker了。 使用 Mac 平台对 DD 命令熟悉的话直接 DD 命令写卡就行。不太熟悉的话推荐 resinOS 发布的跨平台的烧写 TF 卡软件 Etcher。Windows 平台则推荐另外一款开源软件 Rufus。
在 Docker 官方支持树莓派以前,Hypriot 就提供了非官方支持,而且有发布专门为树莓派制做的发行版。 在blog.hypriot.com/downloads/直接下载镜像,用它来启动树莓派就能够直接使用 Docker 了。
虽然是非官方支持,不过 Hypriot 也是至关给力的,甚至能够利用树莓派搭建 K8S 集群,值得关注。
resinOS 不单单是为了树莓派打造,同时也支持其余硬件,不过这里咱们只须要下载树莓派镜像。
能够像开源智能家居平台 Hass.io 基于 resinOS 开发的,Hass.io 的插件以 Docker 容器的方式部署运行,打造出能够开箱即用的服务器。