树莓派上 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 update
sudo 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 -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



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

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

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

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

from: http://shumeipai.nxez.com/2019/05/20/how-to-install-docker-on-your-raspberry-pi.html

树莓派docker搭建的更多相关文章

  1. 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

    Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...

  2. 使用 Docker 搭建 Java Web 运行环境

    黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...

  3. mac下通过docker搭建LEMP环境

    在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...

  4. 转:使用 Docker 搭建 Java Web 运行环境

    原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...

  5. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  6. docker搭建zabbix

    本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server ...

  7. Docker 搭建 etcd 集群

    阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...

  8. Centos7安装ES 和 Docker搭建ES

    本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.linux centos7.x安装ES 1.下载java sudo yum instal ...

  9. Docker最全教程之使用Docker搭建Java开发环境(十七)

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...

随机推荐

  1. 大数据高可用集群环境安装与配置(05)——安装zookeeper集群

    1. 下载安装包 登录官网下载安装包 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 2. 执行命令下载并安装 cd /usr/local ...

  2. SpringCloud学习之Sleuth服务链路跟踪(十二)

    一.为什么需要Spring Cloud Sleuth 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元.由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很 ...

  3. Python操作APP -- Appium-Python-Client

    Appium连接模拟器 pip install Appium-Python-Client 使用Appium定位或者使用辅助定位工具 SDK安装目录/tools/bin,双击此辅助定位工具 from a ...

  4. SASS - 输出格式

    SASS – 简介 SASS – 环境搭建 SASS – 使用Sass程序 SASS – 语法 SASS – 变量 SASS- 局部文件(Partial) SASS – 混合(Mixin) SASS ...

  5. mysql第三篇:表操作

    第三篇:表操作 一.什么是表 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 二.创建表 语法 CREATE TABLE 表名( 字段名1 类型 ...

  6. POJ 1260:Pearls 珍珠DP

    Pearls Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7947   Accepted: 3949 Descriptio ...

  7. win10编译zlib

    zlib是一个数据压缩库,官网的解释很酷: A Massively Spiffy Yet Delicately Unobtrusive Compression Library(Also Free, N ...

  8. vue select框change事件

    vue Select 中< :label-in-value="true" @on-change="satusSelect"> satusSelect ...

  9. Linq------连表查询

    1 List<Student> list = new List<Student>() { ,sex="男"}, ,sex="男"}, , ...

  10. 游戏引擎UE4详解!

    UE4 的全名是 Unreal Engine 4,中文译为“虚幻引擎4”.UE4 是一款由 Epic Games 公司开发的开源.商业收费.学习免费的游戏引擎.那你了解UE4吗?如果还不清楚,就一起来 ...