Docker在树莓派的安装与使用(Ubuntu Arm Server v19.10)
最近由于冠状病毒疫情的原因,只能够和小朋友家里蹲。这几天把尘封已久的那个树莓派拿出来继续捣鼓。希望能够做一个异构的分布式系统框架,于是想把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)的更多相关文章
- 树莓派3B+安装64位ubuntu系统和docker工具
想在树莓派3B上安装一些64位应用(例如64位JDK),因此首先要安装64位的操作系统,今天咱们就一起来实战: 原文地址:https://blog.csdn.net/boling_cavalry/ar ...
- 树莓派2 安装 win10Iot 和 Ubuntu mate
注册博客账号已经2年多了.一直没写博文现在抽空写写. 写这篇博文是因为我之前在网上找了蛮多有关教程写的都不是很清晰.安装没成功.所以我写一下我根据网上找到的整理一下分享出来. 非专业只是业余玩玩.好了 ...
- 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. ...
- 安装 WSL2、Ubuntu 及 docker(详细步骤)
本文链接:https://www.cnblogs.com/tujia/p/13438639.html 一.更新Windows版本 WSL 2 随着 Windows build 19041 而推出,能更 ...
- [Linux] 树莓派 4B 安装 Ubuntu 19.10 (Eoan Ermine) IOT 版
硬件:Raspberry Pi 4B系统:Ubuntu 19.10 (Eoan Ermine) for IOT官网:https://ubuntu.com/download/iot/raspberry- ...
- Docker教程:docker的概念及安装
http://blog.csdn.net/pipisorry/article/details/50754385 Why docker 对于运维来说,Docker提供了一种可移植的标准化部署过程,使得规 ...
- docker(一) Centos7下安装docker
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
- Docker 学习应用篇之二: Docker的介绍和安装
之前说过Docker的好处,Docker可以集装箱化的部署应用程序.那么Docker是通过什么实现的呢.要理解Docker内部构建,需要先理解Docker的四种部件 1)images:镜像,docke ...
- 在(Raspberry Pi)树莓派上安装NodeJS
本文主讲如何在树莓派3B上安装node.js 环境描述1. 树莓派安装了`2016-11-25-raspbian-jessie-lite`(PS:在此版本的镜像中,默认禁用了ssh,在烧录好镜像之后, ...
随机推荐
- Eclipse 代码快捷键模板(一)
话不多说,自行google. 设置快捷键,打开eclipse,依次打开:Window -> Preferences -> General -> Key. 设置代码快捷键,打卡ecli ...
- 37.html
转载:https://www.cnblogs.com/yuanchenqi/articles/5976755.html 前端概述 import socket def main(): sock = so ...
- 关于java继承的哪些事
引言 本文结合一个例子来说明继承实现的基本原理. 基类Base代码如下所示: public class Base { public static int s; private int a; stati ...
- 016 Ceph的集群管理_2
一.Ceph集群的运行状态 集群状态:HEALTH_OK,HEALTH_WARN,HEALTH_ERR 1.1 常用查寻状态指令 [root@ceph2 ~]# ceph health deta ...
- Windows下使用 npm 命令安装 Appium(详)
本文主要讲述如何在 Windows 系统上通过 npm 命令行安装 appium Windows 桌面版请在官网选择对应版本下载安装. 官网链接 TestHome 百度网盘下载链接 Tips:Appi ...
- Http请求头安全策略
今天在网上浪了许久,只是为了找一个很简单的配置,却奈何怎么都找不到. 好不容易找到了,我觉得还是记录下来的好,或许省得许多人像我一样浪费时间. 1.X-Frame-Options 如果网站可以嵌入到I ...
- LibreOJ 6278. 数列分块入门 2 题解
题目链接:https://loj.ac/problem/6278 题目描述 给出一个长为 \(n\) 的数列,以及 \(n\) 个操作,操作涉及区间加法,询问区间内小于某个值 \(x\) 的元素个数. ...
- Spring的一些基本概念(面试备用哦)
1.什么是Spring, 它有什么特点? 包括哪些内容? Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. ◆ 轻量——从大小与开销两方面而言Spring都是轻量的.完整 ...
- 解决springmvc报错,java.lang.IllegalArgumentException:No converter found for return value of type: class .......
1.背景 最近在自学java中的三大框架 ssm,在 springmvc 与 mybatis 整合过程中用到 json 数据交互.因为看的视频的是比较早的嘛,一些配置.jar包什么的,要么跟 jdk ...
- C#反射与特性(五):类型成员操作
目录 1,MemberInfo 1.1 练习-获取类型的成员以及输出信息 1.2 MemberType 枚举 1.3 MemberInfo 获取成员方法并且调用 1.4 获取继承中方法的信息(Decl ...