Linux(7)Ubuntu20.04 arm64安装Docker

简介: Linux(7)Ubuntu20.04 arm64安装Docker

1.更换源

vi /etc/apt/sources.list

deb https://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted
universe multiverse
deb https://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main
restricted universe multiverse
deb https://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main
restricted universe multiverse
deb https://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main
restricted universe multiverse
deb https://mirror.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main
restricted universe multiverse

2.安装依赖

sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg-agent \
  software-properties-common

这个命令后面跟了几个软件包的名字,它们分别是:

  • apt-transport-https:这个软件包允许apt使用HTTPS协议来访问软件源。
  • ca-certificates:这个软件包提供了一些受信任的证书颁发机构的证书,用来验证HTTPS连接的安全性。
  • curl:这个软件包提供了一个命令行工具,用来发送和接收网络数据。
  • gnupg-agent:这个软件包提供了一个后台程序,用来管理GnuPG密钥和密码。
  • software-properties-common:这个软件包提供了一些工具,用来管理软件源和PPA(Personal Package Archive)。
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

这个命令是用来从网络上下载并添加Docker的官方GPG密钥的,它使用了curl和apt-key两个工具。

这个命令的各个部分的含义如下:

  • curl -fsSL:这是curl工具的参数,它们分别表示:
  • f:如果HTTP请求失败,不显示错误信息。
  • s:静默模式,不显示进度条或错误信息。
  • S:如果发生错误,显示错误信息。
  • L:如果HTTP请求被重定向,自动跟随新的地址。
  • https://download.docker.com/linux/ubuntu/gpg:这是Docker的官方GPG密钥的地址,curl会从这个地址下载密钥。
  • |:这是一个管道符号,它表示将前面命令的输出作为后面命令的输入。
  • sudo apt-key add -:这是apt-key工具的命令,它表示以管理员权限添加一个新的密钥到信任列表中。-表示从标准输入读取密钥。

这个命令的意思就是使用curl工具从Docker网站下载GPG密钥,并通过管道符号传递给apt-key工具添加到信任列表中。

sudoadd-apt-repository \
  "deb [arch=arm64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"

这个命令是用来添加一个APT软件源到Ubuntu系统中的,它使用了add-apt-repository工具,它是一个用来管理APT软件源的工具。

这个命令后面跟了一个软件源的地址,它由以下几部分组成:

  • deb:这表示这是一个二进制软件包的源,而不是源代码的源。
  • [arch=arm64]:这表示这个软件源只适用于arm64架构的系统,如果的系统不是arm64架构的,需要修改这个参数。
  • https://download.docker.com/linux/ubuntu:这是Docker官方提供的软件源的地址,可以从这里下载Docker相关的软件包。
  • $(lsb_release -cs):这是一个命令替换符号,它表示执行lsb_release -cs命令,并将其输出作为参数。lsb_release -cs命令会显示Ubuntu系统的发行代号,比如focal或hirsute。使用这个命令可以让自动匹配当前系统版本对应的软件源。
  • stable:这表示使用稳定版的Docker软件包,而不是测试版或开发版。

这个命令的意思就是使用add-apt-repository工具添加一个适用于arm64架构和当前Ubuntu版本的Docker稳定版软件源到系统中。

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

Docker Engine是一个用于创建和运行容器的软件,docker-ce-cli表示社区版的Docker Engine命令行界面

3.验证

docker pull hello-world 
docker run hello-world

如果你看到以下信息,说明你的安装是正确的:

Hello from Docker! This message shows that your installation appears to be working correctly.

报错1

dpkg: error processing package docker-ce (--configure):
  installed docker-ce package post-installation script subprocess returned error
  exit status 1
  Errors were encountered while processing:
  docker-ce
  E: Sub-process /usr/bin/dpkg returned an error code (1)

按以下方式解决,然后重复执行第四步,(这个报错其实是因为内核没有配置好,安装完docker后自动

启动出现了问题,所以才会有这个报错,执行下面操作虽然可以解决问题,但是并没有什么卵用,还是

起不来)

sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/bak/
sudo mkdir /var/lib/dpkg/info/

报错2

could not get initial namespace: no such file or directory

内核没有勾选namespace配置,内核添加如下配置。

CONFIG_NAMESPACES=y

报错3

failed to add the host (vethefe9f2b) <=> sandbox (veth4c4b0c0) pair interfaces:
operation not supported.

内核添加 veth 的配置

报错4

kernel 新增了overlay fs config , 单独刷boot.img 验证

不过改完这个, 命令查看lsblk 会发现/dev/mmcblk1p8 变成了/dev/mmcblk0p8 , 如果通过这个挂载分区的记得要根据lsblk具体的名字来。


相关文章
|
19天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
34 5
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
58 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
37 3
|
15天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
99 0
|
21天前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
37 0
|
2月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(五):18.04安装多版本CUDA
这篇博客文章介绍了在Ubuntu 18.04系统上如何安装和切换不同版本的CUDA,以及如何安装不同版本的cuDNN。
228 2
|
2月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
4117 3
|
19天前
|
Ubuntu 开发工具 git
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
143 50
|
2月前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
151 4
Linux系统之Ubuntu安装cockpit管理工具
|
2月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
165 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)