【Ubuntu】安装Docker

一、查看系统基本情况

1.1 查看系统版本


指令一

lsb_release -a
  • No LSB modules are available.
  • Distributor ID: Ubuntu
  • Description: Ubuntu 20.04.6 LTS
  • Release: 20.04
  • Codename: focal

指令二

cat /etc/lsb-release 
  • DISTRIB_ID=Ubuntu
  • DISTRIB_RELEASE=20.04
  • DISTRIB_CODENAME=focal
  • DISTRIB_DESCRIPTION=“Ubuntu 20.04.6 LTS”

1.2 查看系统架构

sudo dpkg  --print-architecture
  • arm64

1.3 查看容器架构

uname -m
  • aarch64

二、使用apt仓储进行安装

在新主机上首次安装Docker引擎之前,您需要设置Docker存储库。之后,您可以从存储库中安装和更新Docker。

2.1 设置Docker的apt仓库。

# 添加Docker的官方GPG密钥:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg# 将仓库添加到Apt源:
echo \"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

提示
如果您使用Ubuntu衍生发行版,如Linux Mint,则可能需要使用Ubuntu_CODENAME而不是VERSION_CODENAME。

2.2 安装Docker软件包。

2.2.1 安装最新版

要安装最新版本,请运行:

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

2.2.2 安装指定版本

要安装特定版本的Docker引擎,请首先在存储库中列出可用版本:

# 列出可用版本:
apt-cache madison docker-ce | awk '{ print $3 }'5:24.0.0-1~ubuntu.22.04~jammy
5:23.0.6-1~ubuntu.22.04~jammy
...

选择所需的版本并安装:

VERSION_STRING=5:24.0.0-1~ubuntu.22.04~jammy
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

2.3 通过运行 hello-world 镜像来验证Docker引擎安装是否成功。

sudo docker run hello-world

此命令下载测试映像并在容器中运行。当容器运行时,它会打印一条确认消息Hello from Docker!并退出。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
70f5ac315c5a: Pull complete 
Digest: sha256:88ec0acaa3ec199d3b7eaf73588f4518c25f9d34f58ce9a0df68429c5af48e8d
Status: Downloaded newer image for hello-world:latestHello from Docker!
This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(arm64v8)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/

提示
尝试在没有root用户的情况下运行时收到错误?
docker用户组存在,但不包含任何用户,这就是为什么需要使用sudo来运行docker命令。继续Linux postinstall,允许非特权用户运行Docker命令和其他可选的配置步骤。

更新Docker引擎

要升级Docker引擎,请按照安装说明的步骤2,选择要安装的新版本。

如果出现下面情况,安装更新源与系统不匹配,设置合适的源或手动安装`

正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
没有可用的软件包 docker-ce,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到E: 软件包 docker-ce 没有可安装候选
E: 无法定位软件包 docker-ce-cli
E: 无法定位软件包 containerd.io
E: 无法按照 glob ‘containerd.io’ 找到任何软件包
E: 无法按照正则表达式 containerd.io 找到任何软件包

三、下载相关安装包手动安装

如果你不能使用Dockerapt仓库来安装Docker引擎,你可以下载发布的deb文件并手动安装。每次升级Docker引擎时,都需要下载一个新文件。

  1. 资源地址 https://download.docker.com/linux/ubuntu/dists/
  2. 在列表中选择你的Ubuntu 版本
  • 我的Ubuntu版本 - Codename: focal
  1. 选择子目录 pool/stable/ 并且选择架构 (amd64, armhf, ppc64el, arm64, 或者 s390x).
    如:我的系统是那么文件路径为:
  • 我的硬件架构 - arm64

针对我的系统Docker资源下载路径:

https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/arm64/

  1. 下载Docker Engine、CLI、containerd和Docker Compose包的以下deb文件:
    下载地址
  • containerd.io_1.3.7-1_arm64.deb
  • docker-ce-cli_19.03.133-0ubuntu-focal_arm64.deb
  • docker-ce_19.03.133-0ubuntu-focal_arm64.deb
  1. 安装.deb包。将以下示例中的路径更新为下载Docker软件包的位置。

方式一、sudo dpkg -i

sudo dpkg -i ./containerd.io_<version>_<arch>.deb \./docker-ce_<version>_<arch>.deb \./docker-ce-cli_<version>_<arch>.deb \./docker-buildx-plugin_<version>_<arch>.deb \./docker-compose-plugin_<version>_<arch>.deb

方式二、sudo apt-get install

sudo apt-get install /home/signway/download/containerd.io_1.3.7-1_arm64.deb
sudo apt-get install /home/signway/download/docker-ce-cli_19.03.13~3-0~ubuntu-focal_arm64.deb
sudo apt-get install /home/signway/download/docker-ce_19.03.13~3-0~ubuntu-focal_arm64.deb

注意 Docker守护进程会自动启动。

验证Docker是否安装完成

运行hello-world镜像来验证Docker引擎是否安装成功!

 sudo service docker start
sudo docker run hello-world

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/143128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter笔记 - 关于 fit 属性以及相关知识的总结

Flutter笔记 关于 fit 属性以及相关知识的总结 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/13434451…

软考高级职称哪个好考?明确给你答案

软考考试分为初、中、高三级&#xff0c;其中高级5个方向分别为系统分析师、信息系统项目管理师、网络规划设计师、系统架构设计师、系统规划与管理师。软考高级职称考什么好&#xff1f;有很多人是因为要评高级职称而选择参考软考高级资格考试&#xff0c;那么软考高级里哪个资…

16个值得推荐的.NET ORM框架

什么是ORM? ORM 是 Object Relational Mapping 的缩写&#xff0c;译为“对象关系映射”&#xff0c;是一种程序设计技术&#xff0c;用于实现面向对象编程语言里不同类型系统的数据之间的转换。它解决了对象和关系型数据库之间的数据交互问题&#xff0c;ORM的作用是在关系型…

txt2xml

import os import cv2 import pathlib from xml.dom.minidom import Document # 支持多种格式图片,可以自己添加 def search_file_name(file_path, img_root): file_format [.jpg, .JPG, .png, .PNG, .JPEG, .jpeg] file_path pathlib.Path(file_path) file_name…

数字化企业各业务模块模型

1.计划 1.1采购计划执行情况 序号 采购计划号 采购订单号 业务员 供应商 物料 数量 金额 计划入库日期 实际入库日期 状态 针对企业执行中或者未关闭的采购计划进行统计与分析&#xff0c;主要目的在于引领企业员工与领导关注长期在途的采购…

Android修行手册 - 可变参数中星号什么作用(冷知识)

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&…

如何选择工业以太网交换机?

现在市面上有许多品牌的工业以太网交换机&#xff0c;并且类型也相当复杂。在选择交换机的时候&#xff0c;需要考虑多个因素&#xff0c;比如工作环境、是否需要冗余配置、是否需要网管功能、是否需要非网管功能、以及未来的维护和扩展性等。通常情况下&#xff0c;当选择工业…

Istio学习笔记- 服务网格

Istio 服务网格 参考&#xff1a;Istio / Istio 服务网格 Istio 使用功能强大的 Envoy 服务代理扩展了 Kubernetes&#xff0c;以建立一个可编程的、可感知的应用程序网络。Istio 与 Kubernetes 和传统工作负载一起使用&#xff0c;为复杂的部署带来了标准的通用流量管理、遥…

别试错了,是该关注一下软件内在质量了

太多这种例子了&#xff0c;老板们早上出的新想法&#xff0c;恨不得第二天就能上线。。每个互联网公司都试图突破固定领地&#xff0c;不断地尝试新的业务&#xff0c;一旦发现不行&#xff0c;就立刻砍掉&#xff0c;名曰“试错”。 研发部门&#xff0c;为了应对压力&#…

技术总结大杂烩

mysql引擎 MySQL常用存储引擎&#xff1a;MyISAM、InnoDB、MEMORY、MERGE&#xff0c;其中InnoDB提供事务安全表&#xff0c;其他存储引擎都是非事务安全表。 MyISAM&#xff1a;mysql默认存储引擎。MyISAM不支持事务&#xff0c;也不支持外键&#xff0c;但其访问速度快&…

py 打开多个页面

要在Python中打开多个网页&#xff0c;可以使用Python的网络爬虫库&#xff08;如BeautifulSoup或Scrapy&#xff09;或第三方库&#xff08;如Selenium&#xff09;来模拟浏览器操作。 使用BeautifulSoup或Scrapy等库&#xff0c;可以通过编写代码来抓取网页上的内容&#xf…

[每周一更]-(第71期):DevOps 是什么?

Wiki的解释&#xff1a; DevOps&#xff08;Development和Operations的混成词&#xff09;是一种重视“软件开发人员&#xff08;Dev&#xff09;”和“IT运维技术人员&#xff08;Ops&#xff09;”之间沟通合作的文化、运动或惯例。 通过自动化“软件交付”和“架构变更”的…

day14-文件系统工作流程分析

1.内核启动文件系统后&#xff0c;文件系统的工作流程 1.参数的接收 2.参数的解析 3.参数的应用 问题&#xff1a; 1. UBOOT 传给 KERNEL 的参数是以tagglist进行的 KERNEL 传给 文件系统(busybox)的参数是以什么进行的&#xff1f; 2. 在整个文件系统中都需…

马尔可夫过程

马尔可夫决策过程 马尔可夫含义 马尔可夫性质 在给定历史状态 s 0 , … , s t s_0,\dots,s_t s0​,…,st​的情况下&#xff0c;某个状态的未来只与当前状态 s t s_t st​有关&#xff0c;与历史的状态无关。 ​ p ( s t 1 ∣ s t ) p ( s t 1 ∣ s 0 , s 1 , … , s t…

【python】单词接龙

题目&#xff1a; 这是一个关于“单词接龙”的算法题目。在这个游戏中&#xff0c;我们需要从给定的一组单词中&#xff0c;以特定的开头字母构造出一条最长的“龙”。每个单词在这条“龙”中最多出现两次。当两个单词相连时&#xff0c;它们的重合部分被合并成一个。例如&…

spring boot中使用Bean Validation做优雅的参数校验

一、Bean Validation简介 Bean Validation是Java定义的一套基于注解的数据校验规范&#xff0c;目前已经从JSR 303的1.0版本升级到JSR 349的1.1版本&#xff0c;再到JSR 380的2.0版本&#xff08;2.0完成于2017.08&#xff09;&#xff0c;目前最新稳定版2.0.2&#xff08;201…

LMI相机配置步骤,使用Gocator2550相机

在此之前可以先浏览我编写的相机SDK通用类和LMISDK&#xff0c;进行配套观看 https://blog.csdn.net/m0_51559565/article/details/134404394 //LMI相机SDK https://blog.csdn.net/m0_51559565/article/details/134403745 //相机通用类1.启动LMI加速器 LMI加速器用于将相机…

什么是智能井盖?万宾科技的智能井盖传感器的效果

近年来为打造智慧城市政府一直在不懈努力。加速城市基础建设是一项重要的举措&#xff0c;它有助于推动城市综合治理城市生命线的建设工程。在改善市民生活质量的过程中&#xff0c;市政部门正积极进行井盖的改进和升级工作&#xff0c;特别是那些看似微不足道的井盖却蕴含着重…

Java基于itextPDF实现pdf动态导出

Java基于itextPDF实现pdf动态导出 1、制作PDF导出模板2 、集成itextpdf3 、编写实体4 、编写主要代码5、编写controller并测试补充&#xff1a;踩坑记录 现在的业务越来越复杂了&#xff0c;有些业务场景已经不能满足与EXCEL导出和WORD导出了&#xff0c;例如准考证打印&#x…

深度学习 植物识别算法系统 计算机竞赛

文章目录 0 前言2 相关技术2.1 VGG-Net模型2.2 VGG-Net在植物识别的优势(1) 卷积核&#xff0c;池化核大小固定(2) 特征提取更全面(3) 网络训练误差收敛速度较快 3 VGG-Net的搭建3.1 Tornado简介(1) 优势(2) 关键代码 4 Inception V3 神经网络4.1 网络结构 5 开始训练5.1 数据集…