最近由于冠状病毒疫情的原因,只能够和小朋友家里蹲。这几天把尘封已久的那个树莓派拿出来继续捣鼓。希望能够做一个异构的分布式系统框架,于是想把Docker也安装到树莓派上,以便后期做进一步的开发和实验。

我用的树莓派版本是Raspberry PI 3B,版本比较老,不过做做实验还是绰绰有余了.

由于树莓派是ARM核心的CPU,具体来说就是Arm Cortex A53架构64位处理器。所以在安装Docker的时候会遇到问题,尤其是最新的Ubuntu系统,还没有加入到Docker的支持列表里。如果安装官方指南的安装步骤。当我们运行:

sudo apt-get install docker-ce docker-ce-cli containerd.io

会有下面的错误提示信息:

Err:4 https://download.docker.com/linux/ubuntu eoan Release
404  Not Found [IP: 143.204.214.20 443]
E: The repository 'https://download.docker.com/linux/ubuntu eoan Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.

这其实时提示docker库里没有docker-ce的安装程序。下面是docker支持的操作系统列表,https://docs.docker.com/install/linux/docker-ce/ubuntu/

Ubuntu19.10还不在支持范围内。但这样也阻挡不了安装Docker的决心。于是换成用18.x版本的Ubuntu库,执行以下的命令:

deb [arch=amd64] https://download.docker.com/linux/ubuntu disco stable

再次运行安装命令,发现能够顺利安装了。

 sudo docker run hello-world

接着运行hello-world成功!!

后面可以测试pull一个docker镜像,也是成功的,不过有一点要注意的。我开始是直接pull了一个Linux版本的image,结果运行不了。

standard_init_linux.go:211: exec user process caused "exec format error"

这是由于这个镜像不是在ARM核心的环境上构建的的,必须要下载ARM构建的镜像才能够运行,或者下载dockerfile文件自己构建容器镜像。

其他注意事项

国内直接连接Dokcer Hub的速度比较慢,下面是可用的Docker Hub镜像网站列表

https://gist.github.com/theCnImageList

由于安全性的设置,如果当前登录用户不是root,那么要登录Docker Hub,我们需要建立docker group,并把当前用户加入到这个组。

sudo groupadd docker     #添加docker用户组,可能已经存在,已存在就可以直接进行下一步
sudo gpasswd -a $USER docker     #将当前登录用户加入到docker用户组中
# 重启 docker 服务
$ sudo service docker restart
# 或者shell
$ sudo /etc/init.d/docker restart
newgrp docker     #更新用户组

后记

到此为之,在树莓派上安装Docker就完成了。后面就要开始配置Docker集群部署和编排工具K8S来进行基于Docker的分布式服务的实验了。

安装后的问题 其实我为了安装docker,把docker库降级了,后面如果Docker官方正式支持Ubuntu最新版本的话。就可以把这个库恢复到eoan (Ubuntu 9.x的代号)

Docker在树莓派的安装与使用(Ubuntu Arm Server v19.10)的更多相关文章

  1. 树莓派3B+安装64位ubuntu系统和docker工具

    想在树莓派3B上安装一些64位应用(例如64位JDK),因此首先要安装64位的操作系统,今天咱们就一起来实战: 原文地址:https://blog.csdn.net/boling_cavalry/ar ...

  2. 树莓派2 安装 win10Iot 和 Ubuntu mate

    注册博客账号已经2年多了.一直没写博文现在抽空写写. 写这篇博文是因为我之前在网上找了蛮多有关教程写的都不是很清晰.安装没成功.所以我写一下我根据网上找到的整理一下分享出来. 非专业只是业余玩玩.好了 ...

  3. Ubuntu 16.04/16.10安装 KDE Plasma

    KDE目前的最新版本是Plasma 5.7(2016-10).Ubuntu默认的桌面环境是Unity,下面记录怎么在Ubuntu 16.04/16.10上安装KDE. Ubuntu 16.04/16. ...

  4. 安装 WSL2、Ubuntu 及 docker(详细步骤)

    本文链接:https://www.cnblogs.com/tujia/p/13438639.html 一.更新Windows版本 WSL 2 随着 Windows build 19041 而推出,能更 ...

  5. [Linux] 树莓派 4B 安装 Ubuntu 19.10 (Eoan Ermine) IOT 版

    硬件:Raspberry Pi 4B系统:Ubuntu 19.10 (Eoan Ermine) for IOT官网:https://ubuntu.com/download/iot/raspberry- ...

  6. Docker教程:docker的概念及安装

    http://blog.csdn.net/pipisorry/article/details/50754385 Why docker 对于运维来说,Docker提供了一种可移植的标准化部署过程,使得规 ...

  7. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  8. Docker 学习应用篇之二: Docker的介绍和安装

    之前说过Docker的好处,Docker可以集装箱化的部署应用程序.那么Docker是通过什么实现的呢.要理解Docker内部构建,需要先理解Docker的四种部件 1)images:镜像,docke ...

  9. 在(Raspberry Pi)树莓派上安装NodeJS

    本文主讲如何在树莓派3B上安装node.js 环境描述1. 树莓派安装了`2016-11-25-raspbian-jessie-lite`(PS:在此版本的镜像中,默认禁用了ssh,在烧录好镜像之后, ...

随机推荐

  1. dotnet 数组自动转基类数组提示 Co-variant array conversion 是什么问题

    在 C# 的语法,可以提供自动将某个类的数组自动转这个类的基类数组的方法,但是这样的转换在 Resharper 会提示 Co-variant array conversion 这是什么问题? 在 C# ...

  2. Vijos1774 机器翻译 [模拟]

    1.题意:给定一段长度为N个单词的文章(一个单词用一个非负整数表示),可以使用一个容量为M个元素的容器.你的任务是使用字典的帮助翻译文章,遇到一个单词,查询之后将此单词的释义放入容器中,下次遇到时若此 ...

  3. 一种HTML table合并单元格的思路

    /** * 合并单元格 * @param table1 表格的ID * @param startRow 起始行 * @param col 合并的列号,对第几列进行合并(从0开始).如果传下来为0就是从 ...

  4. iptables 基础

    SNAT 和 DNAT 是 iptables 中使用 NAT 规则相关的的两个重要概念.如上图所示,如果内网主机访问外网而经过路由时,源 IP 会发生改变,这种变更行为就是 SNAT:反之,当外网的数 ...

  5. java中List 和 Set 的区别

    a. 特性 两个接口都是继承自Collection​,是常用来存放数据项的集合,主要区别如下:      ① List和Set之间很重要的一个区别是是否允许重复元素的存在,在List中允许插入重复的元 ...

  6. 【E20200101-1】Centos 7.x 关闭防火墙(firewall)和SELinux

    一.准备工作 1.1.服务器准备 操作系统:centos 7.x 1.2.安装好用的文本编辑工具nano # yum -y install nano 二.关闭SELinux 2.1.查看SELinux ...

  7. 修改kubelet启动参数

    我是用kubeadm安装的k8s,现在通过Aqua扫描出相关配置问题,需要修改kubelet的启动参数: 默认配置文件名为:10-kubeadm.conf #vim /usr/lib/systemd/ ...

  8. 使用rapidjson把文本json数据解析到树状结构

    一个递归搞定 无聊的时候练练手就写了一个 头文件什么的我就不贴了 demo程序是MFC写的 void ParseObject(rapidjson::Value dc, CTreeCtrl * pTre ...

  9. $bzoj4237$稻草人 $cdq$分治

    正解:$cdq$分治 解题报告: 传送门$QwQ$ $umm$总感觉做过这题的亚子,,,? 先把坐标离散化,然后把所有点先按$x$排序$QwQ$,然后用类似平面最近点对的方法,先分别解决$mid$两侧 ...

  10. $loj10156/$洛谷$2016$ 战略游戏 树形$DP$

    洛谷loj Desription Bob 喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的方法.现在他有个问题. 现在他有座古城堡,古城堡的路形成一棵树.他要在这棵树的节点上放置最少数 ...