Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,容器性能开销极低。这对树莓派非常有用,本教程将介绍 Docker 这个工具以及如何在 Raspbian 上安装 Docker。

树莓派上 Docker 的安装和使用_docker

Docker 的应用场景

Web 应用的自动化打包和发布。

自动化测试和持续集成、发布。

在服务型环境中部署和调整数据库或其他的后台应用。

从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

Docker 的优点

Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。方便快捷已经是 Docker 的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

这里介绍两种安装 Docker 的方法,最简单的是直接从 get.docker.com 下载安装脚本并开始安装。仅需执行下面一行命令即可。经测试,树莓派3B、3A+、3B+ 均可支持 Docker,树莓派 Zero 虽然可以安装成功,​​但无法启动 Docker 服务​​。

安装方法一(脚本安装)

脚本安装是最推荐的方式,只需要输入下面的命令,等待自动安装好即可。




1




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



如果采用这一步安装成功,可直接跳到下文的图形界面安装那里继续阅读。

树莓派上 Docker 的安装和使用_树莓派_02

安装方法二(apt 安装)

由于 Raspbian 基于 Debian,我们还可以使用 apt 来安装 Docker,首先需要更新一下软件包的索引。




1




​sudo​​ ​​apt-get update​



安装 HTTPS 所依赖的包




1


2


3




​sudo​​ ​​apt-get ​​​​install​​ ​​apt-transport-https \​


​ca-certificates \​


​software-properties-common​



树莓派上 Docker 的安装和使用_docker_03

添加 Docker 的 GPG key




1




​curl -fsSL https:​​​​//yum​​​​.dockerproject.org​​​​/gpg​​ ​​| ​​​​sudo​​ ​​apt-key add -​



验证 key id:




1




​apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D​



树莓派上 Docker 的安装和使用_docker_04

设置稳定的 repository:




1


2


3


4




​sudo​​ ​​add-apt-repository \​


​"deb https:​​​​//apt​​​​.dockerproject.org​​​​/repo/​​ ​​\​


​raspbian-$(lsb_release -cs) \​


​main"​



注意:如果 add-apt-repository 命令遇到问题,可以尝试将下面这行添加到树莓派软件源 sources.list,操作如下:




1




​sudo​​ ​​nano ​​​​/etc/apt/sources​​​​.list​



添加一行:

deb https://apt.dockerproject.org/repo/ raspbian-RELEASE main


根据自己系统版本调整上面的 RELEASE。通过下面的命令可以查看发行版。




1




​lsb_release -cs​



安装 Docker




1


2




​sudo​​ ​​apt-get update​


​sudo​​ ​​apt-get -y ​​​​install​​ ​​docker-engine​



测试 Docker

运行 hello-world 镜像来做一个测试。




1




​sudo​​ ​​docker run hello-world​



如果 Docker 安装成功,你会看到一条消息:“Hello from Docker!”。

树莓派上 Docker 的安装和使用_docker_03

常用配置和工具命令




1


2


3


4


5


6


7


8


9


10


11


12


13


14


15


16


17


18


19


20


21


22


23


24


25




​#查看 Docker 版本​


​docker -​​​​v​


​sudo​​ ​​docker pull 仓库/镜像:版本(留空的话默认为 latest)​


​sudo​​ ​​docker run 加参数,用来创建容器​


​#查看运行容器​


​sudo​​ ​​docker ​​​​ps​


​#查看所有下载的镜像​


​sudo​​ ​​docker images​


​#进入容器终端​


​sudo​​ ​​docker ​​​​exec​​ ​​-i -t ha ​​​​/bin/bash​


​#实时查看10行的 ha 日志​


​sudo​​ ​​docker logs -f -t --​​​​tail​​ ​​10 ha​


​#重启 systemctl 守护进程​


​sudo​​ ​​systemctl daemon-reload​


​#设置 Docker 开机启动​


​sudo​​ ​​systemctl ​​​​enable​​ ​​docker​


​#开启 Docker 服务​


​sudo​​ ​​systemctl start docker​


 


​#下载 Docker 图形化界面 portainer​


​sudo​​ ​​docker pull portainer​​​​/portainer​


​#创建 portainer 容器​


​sudo​​ ​​docker volume create portainer_data​


​#运行 portainer​


​sudo​​ ​​docker run -d -p 9000:9000 --name portainer --restart always -​​​​v​​ ​​/var/run/docker​​​​.sock:​​​​/var/run/docker​​​​.sock -​​​​v​​ ​​portainer_data:​​​​/data​​ ​​portainer​​​​/portainer​



树莓派上 Docker 的安装和使用_安装方法_06

树莓派上 Docker 的安装和使用_docker_07

在图形化界面中操作更加便利。运行之后在浏览器中输入树莓派IP:9000 进入界面。

树莓派上 Docker 的安装和使用_树莓派_08

首次访问需要设定登录密码。

树莓派上 Docker 的安装和使用_开发者_09

对于树莓派上的应用,选择 Local 就好。

树莓派上 Docker 的安装和使用_树莓派_10

在控制台可以看到 Docker 的各种资源信息。

树莓派上 Docker 的安装和使用_虚拟化_11

树莓派上 Docker 的安装和使用_树莓派_12