本文介绍如何在树莓派中安装与使用 Docker,下载树莓派专用的 container 系统镜像。
树莓派是一款名片大小的开发板,适合用于各类型的物联网(IOT)应用,连 Docker 也可以运行在上面,甚至用它来架设服务器集群(cluster)。
以下是在树莓派安装最新 Docker 的步骤,以及下载树莓派专用的 container 镜像文档的教程。
关于在Linux系统上安装Docker的更多内容请参见:
- Docker中文文档(十四):在Ubuntu系统上安装Docker
- Docker中文文档(十五):在Red Hat Enterprise Linux(RHEL)系统上安装Docker
- Docker中文文档(十六):在CentOS系统上安装Docker
- 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
补充资料
在树莓派中虽然其官方的 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)