Docker云计算新玩意树莓派

树莓派Raspberry Pi简单安装Docker教程

本文介绍如何在树莓派中安装与使用 Docker,下载树莓派专用的 container 系统镜像。

树莓派是一款名片大小的开发板,适合用于各类型的物联网(IOT)应用,连 Docker 也可以运行在上面,甚至用它来架设服务器集群(cluster)。

以下是在树莓派安装最新 Docker 的步骤,以及下载树莓派专用的 container 镜像文档的教程。

berries-20161118-1-1024x576.jpg插图

关于在Linux系统上安装Docker的更多内容请参见:

  1. Docker中文文档(十四):在Ubuntu系统上安装Docker
  2. Docker中文文档(十五):在Red Hat Enterprise Linux(RHEL)系统上安装Docker
  3. Docker中文文档(十六):在CentOS系统上安装Docker
  4. Docker中文文档(十七):在Debian系统上安装Docker

在树莓派安装 Docker

若要安装最新版的 Docker,可以使用 Docker 官方所提供的安装引导文档,只要一行指令就可以自动安装完成:

curl -sSL https://get.docker.com | sh

安装完成后,最后的输出信息内容会类似这样:

Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 19:06:36 2018
 OS/Arch:      linux/arm

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 19:06:36 2018
 OS/Arch:      linux/arm

If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker pi

Remember that you will have to log out and back in for this to take effect!

这里除了显示 Docker 的版本之外,也显示了使用者帐号的设置,所有需要操作 Docker 的使用者都要加入 docker用户组。

接着将 pi 这个系统账号加入 docker 用户组:

sudo usermod -aG docker pi

搜索 Docker Hub 上的 container 镜像文档,由于树莓派是使用 ARM 架构的 CPU,所以一般 x86 的 container 镜像文档都不能适用,必须只能找 raspbian 相关的 container 镜像文档:

docker search raspbian
NAME                                                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
resin/rpi-raspbian                                     Base image for the Raspberry Pi. Contains ...   194                  
sdhibit/rpi-raspbian                                   Base raspbian image for ARM hard float boa...   44                   [OK]
mdsakalu/rpi-raspbian-ffmpeg                           Rasbian with ffmpeg compiled for the Raspb...   3                    [OK]
matthuisman/raspbian                                   Minimal Raspbian Docker Image for Raspberr...   2                    
philipz/rpi-raspbian                                                                                   2                    [OK]
jsurf/rpi-raspbian                                     raspbian jessie base image with cross buil...   2                    [OK]

这里没有官方制作的 container 镜像文档,而 Resin.io 所制作的 container 镜像文档是最多 STAR评分 的一个,所以我们选用这个镜像来测试:

docker pull resin/rpi-raspbian

在 resin/rpi-raspbian 这个 container 中执行 hello world 回显命令:

docker run resin/rpi-raspbian /bin/echo 'Hello world'
Hello world

进入 container 的交互式操作环境:

docker run -ti resin/rpi-raspbian

raspberry-pi-docker-installation-tutorial-20161118-1.png插图(1)

进入 Docker container

补充资料

在树莓派中虽然其官方的 apt 源仓库就已经有收录 Docker 的套件,不过由于这个套件不够新,有些功能可能会有问题,以下是我在测试时所遇到的问题,在这里纪录一下。

使用 apt 安装 Docker、设定用户组:

sudo apt-get install docker.io
sudo usermod -aG docker pi
docker version
Client version: 1.3.3
Client API version: 1.15
Go version (client): go1.3.2
Git commit (client): d344625
OS/Arch (client): linux/arm
Server version: 1.3.3
Server API version: 1.15
Go version (server): go1.3.2
Git commit (server): d344625

搜索 raspbian 相关的 container:

docker search raspbian
NAME                                                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
resin/rpi-raspbian                                     Base image for the Raspberry Pi. Contains ...   194                  
sdhibit/rpi-raspbian                                   Base raspbian image for ARM hard float boa...   44                   [OK]
mdsakalu/rpi-raspbian-ffmpeg                           Rasbian with ffmpeg compiled for the Raspb...   3                    [OK]
philipz/rpi-raspbian                                                                                   2                    [OK]
jsurf/rpi-raspbian                                     raspbian jessie base image with cross buil...   2                    [OK]

下载 container 镜像文档时会出现一些问题:

docker pull resin/rpi-raspbian
Pulling repository resin/rpi-raspbian
2018/11/16 02:21:55 Could not reach any registry endpoint

使用 apt 源安装的 Docker 其版本是 1.3.3,根据 Docker 官方的资讯,Docker 1.5 或更旧的版本在搜索镜像文档时就会出现这个问题,也就是说现阶段要下载 container 镜像文档,必须安装最新版的 Docker 才可以。

(END)

参考资料:Raspberry Pialex ellis’ blogG. T. Wang blog