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 服务。

安装方法一(脚本安装)

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

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

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

安装方法二(apt 安装)

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

sudo apt-get update

安装 HTTPS 所依赖的包

sudo apt-get install apt-transport-https \

ca-certificates \

software-properties-common

添加 Docker 的 GPG key

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

验证 key id:

apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D

设置稳定的 repository:

sudo add-apt-repository \

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

raspbian-$(lsb_release -cs) \

main"

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

sudo nano /etc/apt/sources.list

添加一行:

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

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

lsb_release -cs

安装 Docker

sudo apt-get update

sudo apt-get -y install docker-engine

测试 Docker

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

sudo docker run hello-world

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

常用配置和工具命令

#查看 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 的各种资源信息。

相关链接

docker设置镜像源 树莓派_树莓派上 Docker 的安装和使用相关推荐

  1. windows docker 设置镜像源_Windows10下搭建第一个Docker应用(Demo)

    1. 打开Windows虚拟化,需要Windows10Pro以上版本,部分机器还需设置BIOS打开 2. 安装Windows10 Hyper-v 3. 安装Docker Desktop,很简单,两步搞 ...

  2. Win docker 设置镜像源失效,不起作用解决办法

    Win10 docker设置中国镜像源,docker pull仍然报错超时! Docker Desktop配置无代理,查看docker info跟~/.docker/daemon.json配置都正常. ...

  3. docker国内镜像源配置

    配置docker 为加快拉取镜像速度,建议设置docker国内镜像源 # 创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 {"registry-mirror ...

  4. docker国内镜像源

    Docker中国区官方镜像: https://registry.docker-cn.com 网易: http://hub-mirror.c.163.com ustc: https://docker.m ...

  5. docker镜像指定安装源_如何修改docker pull镜像源

    狐的传说 修改docker pull镜像源的方法安装或升级DockerDocker 1.3.2版本以上才支持Docker Hub Mirror机制,如果您还没有安装Docker或者版本过低,请安装或升 ...

  6. 解决docker-compose up -d 出现Client.Timeout exceeded while awaiting headers的问题(配置docker国内镜像源)

    首先出现的问题是输入 docker-compose up -d出现如下情况 Pulling tars-mysql (mysql:5.6)... ERROR: Get https://registry- ...

  7. docker更换镜像源

    简介:因为国内的网络访问问题,为加快拉取镜像速度,建议设置docker国内镜像源. Docker中国区官方镜像: https://registry.docker-cn.com 网易: http://h ...

  8. Docker国内镜像源介绍与更换

    目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker国内镜像源介绍与更换 [附录]Docker与虚拟机的区别 一.Docker简介 Do ...

  9. Docker更改镜像源

    一.docker更换镜像源 1.更换阿里云的docker镜像源 注册一个阿里云用户,访问 https://cr.console.aliyun.com/#/accelerator 获取专属Docker加 ...

最新文章

  1. apache的prefork和workder模式
  2. Android——SQLite实现面向对象CRUD
  3. mybits注解详解
  4. PHP中怎样实现正负数的相加,PHP 求任意n个正负整数里面最大的连续和
  5. 由浅到深理解ROS(9)- 几个基本概念的理解 坐标系 包
  6. win8系统如何设置打印服务器,Win8系统怎么安装网络打印机|Win8系统安装网络打印机的方法...
  7. vue可缓存的单页面多标签页
  8. iphone备忘录自带的扫描功能扫完文件后如何保存为图片
  9. 金山词霸2006打开没有响应怎办?
  10. 工程制图与计算机绘图教学视频,工程制图与计算机绘图(西电版)第1章_制图的基本知识教材教学课件.ppt...
  11. esxi安装威联通_威联通折腾篇三:Virtualization Station 安装虚拟机
  12. 如何在苹果手机上进行自动化测试!!!!!可以尝试配置一下
  13. 央视《对话》:家长课堂
  14. 中标麒麟kylinV10操作系统无法识别光驱,插入光驱没反应
  15. Gym - 100519 B Bring Your Own Bombs 离散化+二分+思维
  16. 以匠心正道,以决心致远:毫末智行的自动驾驶之路
  17. DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampl
  18. 开箱——Amazon Lightsail(远程云桌面)
  19. [Python]简单抓取百度blog
  20. LaTeX记录 —— 特殊符号

热门文章

  1. list容器java_【Java容器】List容器使用方法及源码分析
  2. Android通过adb命令传参给APP的方法
  3. Android开发之依赖库混淆与外层APP混淆开启的关系
  4. ci Call to undefined function site_url()
  5. java lock代码写法_java Lock接口详解及实例代码
  6. 表中字段变化sql语句如何出现
  7. 第4件事 产品经理必须“入戏”, 与用户交朋友
  8. 修复虚拟磁盘LVM表
  9. 初来乍到?请多关照==23333
  10. Python二维码生成库qrcode示例