树莓派上 Docker 的安装和使用

Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,容器性能开销极低。这对树莓派非常有用,本教程将介绍 Docker 这个工具以及如何在 Raspbian 上安装 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 |
如果采用这一步安装成功,可直接跳到下文的图形界面安装那里继续阅读。

安装方法二(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 的 GPG key
|
1
|
curl -fsSL https://yum.dockerproject.org/gpg | sudo apt-key add - |
验证 key id:
|
1
|
apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D |

设置稳定的 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 updatesudo apt-get -y install docker-engine |
测试 Docker
运行 hello-world 镜像来做一个测试。
|
1
|
sudo docker run hello-world |
如果 Docker 安装成功,你会看到一条消息:“Hello from Docker!”。

常用配置和工具命令
|
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 -vsudo 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 图形化界面 portainersudo docker pull portainer/portainer#创建 portainer 容器sudo docker volume create portainer_data#运行 portainersudo 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 |


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

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

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

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


相关链接
Docker 官网:http://www.docker.com
Github Docker 源码:https://github.com/docker/docker
Docker 商店:https://store.docker.com
Docker 文档:https://docs.docker.com
出处:http://shumeipai.nxez.com/2019/05/20/how-to-install-docker-on-your-raspberry-pi.html
树莓派上 Docker 的安装和使用的更多相关文章
- Centos7上docker的安装和基本使用
Centos7上Docker的相关操作 Docker的安装 1.检查内核版本 docker使用linux的内核必须是3.10以上,首先需要 # uname -r 2.使用yum安装docker # y ...
- CentOS7上Docker简单安装及nginx部署
安装 如果原来安装过docker,先把原来的删掉,再安装(如果是首次安装docker忽略第一步,直接在第二步看起) 1.1先查看下已经安装了那些docker yum list installed | ...
- 树莓派上的软件安装和卸载命令汇总 [ZT]
转自:http://www.eeboard.com/bbs/thread-40823-1-1.html基础命令 安装软件 apt-get install softname1 softname2 sof ...
- Mac上Docker的安装
安装 安装包安装 由于历史原因, 本人使用的是安装安装的方式, 这也是很多Windows用户的习惯. 下载地址: https://download.docker.com/mac/stable/Dock ...
- Centos上Docker的安装及加速
#环境 :内核的版本必须大于3.10 #安装docker yum install epel-release -y yum install docker-ce ##安装docker-ce #配置文件 d ...
- CentOS 7上Docker的安装
一.安装docker 1.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname -r 命令查看 ...
- centos7上docker安装和使用教程
Docker 是一个创建和管理 Linux 容器的开源工具.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上 ...
- 在树莓派上开发SpringBoot 之使用VSCode远程开发
一些运行在ARM单板电脑上的IoT应用通常会提供RESTful风格的API接口.本次的文章记录如何在本地电脑上通过VS Code的远程开发功能,在树莓派端创建一个SpringBoot工程,并实现调试和 ...
- 简单四步開始树莓派上的Docker之旅
大概这篇博文发表之后,应该算是我个人的第一篇翻译作品了,翻译的可能不是非常到位,望各位看官大刀砍过来. 原文链接:http://resin.io/blog/docker-on-raspberry-pi ...
随机推荐
- [转]python file文件操作--内置对象open
python file文件操作--内置对象open 说明: 1. 函数功能打开一个文件,返回一个文件读写对象,然后可以对文件进行相应读写操作. 2. file参数表示的需要打开文件的相对路径(当前 ...
- IDEA和JIRA任务联动(redmine同理)
IDEA和JIRA任务联动-操作流程详解 redmine和这个步骤类似,只是第一步选择的工具不一样 操作流程 添加jira配置,File->Setting-->tools-->Tas ...
- Fineui 根据datatable结构动态创建grid列,帮助类。动态绑定grid。
public class FineuiHelper { /// <summary> /// 动态创建Grid结构,在 Page_Init事件里执行( ...
- js实现图片资源转化成base64的各种场景
网络上有很多片介绍通过js将图片转换成base64的文章,之所以再写这篇文章的原因时发现没有找到系统的介绍的文章,有的介绍如何实现本地项目的图片转码,有的介绍如何实现网络资源的图片转化,但是系统介绍的 ...
- JAVA如何实现中式排名和美式排名
根据公司需求,需要编写中式和美式排名算法,根据具体业务编写的,代码如下,看不懂留言,欢迎探讨,求高手指教更高效稳定的方法.private static int[] datas = {9,9,10,10 ...
- C 语言 基础篇
1.机器语言 2.汇编语言 3.高级语言:C.C++.Java(基于虚拟机) C语言开发:Unix,Linux,Mac OS,iOS,Android,Windows,Ubuntu 开发环境:visua ...
- [译] QUIC Wire Layout Specification - Frame Types and Formats | QUIC协议标准中文翻译(4) 帧类型和格式
欢迎访问我的个人网站获取更好的阅读排版体验: [译] QUIC Wire Layout Specification - Frame Types and Formats | QUIC协议标准中文翻译(4 ...
- emmet css 缩写
css 缩写 对于CSS语法,Emmet有许多用于属性的预定义代码段.例如,您可以扩展 m 缩写以获取margin: ;代码段. 要获取 margin: 10px;您可以简单地扩展m10缩写. 需要多 ...
- LOJ2401 JOISC2017 Dragon2 计算几何、线段树
传送门 先考虑每一个攻击方的龙和被攻击方的龙可以与多少个被攻击方/攻击方的龙匹配. 对于攻击方的龙\(A\)和被攻击方的龙\(B\),在道路为线段\((C,D)\)的情况下,能够与下图位置的所有对应属 ...
- 安卓自定义View基础 --坐标系,角度弧度,颜色
转自:https://www.gcssloop.com/customview/CustomViewIndex/ 1.坐标系 2.角度弧度 3.颜色 一.屏幕坐标系和数学坐标系的区别 由于移动设备一般定 ...