Ubuntu安装Docker

news2025/7/19 6:37:01

一、安装条件

1.操作系统要求

需要以下 Ubuntu 版本之一的 64 位版本:

  • Ubuntu Kinetic 22.10

  • Ubuntu Jammy 22.04 (LTS)

  • Ubuntu Focal 20.04 (LTS)

  • Ubuntu Bionic 18.04 (LTS)

二、安装

1.要是之前安装过,可以进行卸载然后再安装,旧版本的 Docker 的名称为docker、docker.io或 docker-engine。安装新版本之前卸载任何此类旧版本:

sudo apt-get remove docker docker-engine docker.io containerd runc

注:如果apt-get报告没有安装这些软件包,没有关系。

2.使用存储库安装

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

2.1.设置存储库

2.1.1.更新apt包索引并安装包以允许apt通过 HTTPS 使用存储库:

sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release

注意:博主这里使用的是root,所以没有使用sudo。要是使用其他账户需要使用sudo。

2.1.2.添加 Docker 的官方 GPG 密钥:

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

2.1.3.使用命令设置存储库:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3.安装Docker引擎

3.1.更新apt包索引:

sudo apt-get update

注:要是运行的时候收到GPG错误,有可能是umask配置不正确,导致无法检测存储库公钥文件。在更新包索引之前尝试授予 Docker 公钥文件的读取权限:

sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo apt-get update

3.2.安装最新的版本命令:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.3.通过运行镜像验证 Docker 引擎 安装是否成功 hello-world:

sudo docker run hello-world

注:此命令下载测试图像并在容器中运行它。当容器运行时,它会打印一条确认消息并退出。

三、到了这里就是结尾了,感谢观看,能给予你们帮助,博主很开心!

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

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

相关文章

_Linux (传输层一版本)

文章目录0. 传输层作用1. 再谈端口号1-1 端口号范围划分1-2 认识知名端口号(Well-Know Port Number)1-3 两个问题1-4 netstat1-5 pidof2. UDP协议2-1 UDP协议端格式1. UDP协议如何分离(封装)?2. UDP协议如何交付(应用层- - 客户&a…

什么蓝牙耳机佩戴舒适?2023长时间佩戴最舒适的蓝牙耳机

现如今,很多蓝牙耳机的产品都在不断地更新,市面上的耳机也是越来越普及,可以说是成为我们日常生活中不可或缺的一类电子设备,下面介绍一些佩戴舒适性好的蓝牙耳机。 一、南卡小音舱蓝牙耳机 音质推荐指数:★★★★★…

[ 网络 ] 应用层协议——HTTPS协议原理

目录 1.HTTPS是什么 2.加密技术 2.1什么是加密 2.2为什么要加密 2.3加密处理防止被窃听 3.常见的加密方式 对称加密 非对称加密 4.数据摘要&&数据指纹 5.数字签名 6.HTTPS的工作过程探究 方案1——只是用对称加密 方案2——只进行非对称加密 方案3——双方…

JavaEE——简单介绍Thread类以及线程的基本操作

文章目录一、Thread 类中的常见构造方法二、Thread 的一些常见属性三、线程的启动——start()isAlive() 方法的解释四、线程中断五、线程等待-join()了解六、简单解释线程休眠一、Thread 类中的常见构造方法 我们已知,Thread 类是Java中多线程中的一个关键类&#…

MATLAB的快速入门

第一部分:基础知识常用命令:clc %清除命令行窗口 clear %清空工作区数据 cd %显示或改变工作目录 clf %清除图形窗口 help %打开帮助文档 save %保存内存变量到指定文件 hold %保持图形 close %关闭当前图窗 quit %退出变量&#x…

sentry权限控制

sentry权限控制 文章目录sentry权限控制前言1. 安装2. hive内得配置4. hdfs配置5. Hue 授权6. 连接hive配置权限7. 验证前言 Apache Sentry是一个可以对Hadoop集群中的数据及元数据进行细粒度管理的权限管理系统。Sentry目前可以与ApacheHive,HiveMetastore / HCat…

前端基础(十四)_Math对象

Math对象 1.Math对象 对象.方法名 (1)Math.floor() 向下取整 去掉小数部分 等同于parseInt Math.floor(1.222) //1(2)Math.ceil() 向上取整 去掉小数部分 向上进一 Math.ceil(1.222) //2(3)Math.round() 四舍五入 4.5 5 针对小数点后面第一位数字 Math.round(1.272) //1 Ma…

嵌入式安防监控项目——exynos4412主框架搭建

目录 一、模块化编程思维 二、安防监控项目主框架搭建 一、模块化编程思维 其实我们以前学习32使用keil的时候就是再用模块化的思维。每个硬件都单独有一个实现功能的C文件和声明函数,进行宏定义以及引用需要使用头文件的h文件。 比如简单的加减乘除取余操作我们…

Spark Standalone 部署

Spark Standalone 部署解压缩文件修改配置文件启动集群Web UI 界面提交应用提交参数说明配置历史服务配置日志存储路径添加日志配置重启重新执行任务查看历史服务配置高可用(HA)集群规划停止集群启动 Zookeeper启动集群关闭集群关闭历史服务解压缩文件 …

Go语言使用Playwright自动化测试、录屏、执行js

Go版本的Playwright支持Chromium、Firefox和WebKit的Web自动化测试,兼容Windows、Linux和MacOS,默认支持headless无头模式,安装方便、绿色高效、兼容性强、运行速度快。 支持的主要功能有: 跨多个页面、域名和iframe的场景&#x…

什么led灯性价比高?家用led灯选哪种最好

人造灯具经过多年的发展,现在最为成熟的工艺就是led灯了,不仅有荧光灯高效节能、省电高亮的特点,而且光线可控性非常高,对于调光、提高光线柔和度等方面非常方便,保护眼睛更有效。 那么什么led灯性价比高呢&#xff0c…

JavaScript 高级5 :ES6

JavaScript 高级5 :ES6 Date: January 19, 2023 Sum:ES6新增语法、ES6内置对象扩展(Array、String扩展方法、set数据结构) 目标 能够说出使用let关键字声明变量的特点 能够使用解构赋值从数组中提取值 能够说出箭头函数拥有的…

基于SpringBoot的学生会管理系统 源码

StudentUnionManagementSystem 基于SpringBoot的学生会管理系统 源码 链接 目录StudentUnionManagementSystem介绍软件架构使用说明1.页面登录2.首页3.成员信息管理4.角色信息管理5.权限管理6.活动管理7.文件管理8.活动展示介绍 学生会管理系统 SpringBoot Mybatis-plus shir…

CentOS 7 怎样设置自动连接网络

作为 Linux 中的重要一员,CentOS 7 始终把安全放在第一位,开机以后并不会自动启动网络。而且,相比 Windows 下只需点击几下鼠标便能搞定配置,在 CentOS 7 中要想设置开机自动连接网络,简直可以说是需要具有“专业级水准…

手动实现 数组和链表

数组和链表示意图 目的 不用java标准库 自己时间 一个 arraylist 和 linked list 区别 数组 数组 支持 随机访问 可以立即访问 根据 第一个元素的位置, 推算出 第三个地方的位置 如下图所示,假设我们知道 头的位置是X 数组是 int类型 每个位置就是 …

Qt音视频开发21-mpv内核万能属性机制

一、前言 搞过vlc内核后又顺带搞了搞mpv内核,mpv相比vlc,在文件数量、sdk开发便捷性方面绝对占优势的,单文件(可能是静态编译),不像vlc带了一堆插件,通过各种属性来set和get值,后面…

第十四届蓝桥杯三月真题刷题训练——第 5 天

目录 题目1:数的分解 题目描述 运行限制 代码: 题目2:猜生日 题目描述 运行限制 代码: 题目3:成绩分析 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码: 题目4:最大和…

Vue3做出B站【bilibili】 Vue3+TypeScript【快速入门一篇文章精通系列(一)前端项目案例】

本项目分为二部分 1、后台管理系统(用户管理,角色管理,视频管理等) 2、客户端(登录注册、发布视频) Vue3做出B站【bilibili】 Vue3TypeScript【快速入门一篇文章精通系列(一)前端项目…

vue3 拖拽 穿梭框

文章目录期望结果当前技术栈实现方法安装 sortablejs导入 sortablejs视图 通过 id 绑定 sortablejs 数据通过 data-xxx 自定义属性 挂载ts中 通过id获取dom 实现拖拽 getNewArr函数通过自定义属性对数据做处理以下是全部代码官网链接下面是文档UsageOptionsgroup optionsort op…

代码随想录之哈希表(力扣题号)

242. 有效的字母异位词 直接用数组模拟哈希表 只有小写字母&#xff0c;开26的数组就可以了 class Solution {public boolean isAnagram(String s, String t) {//24-28int[] hash new int[26];Arrays.fill(hash,0);for(int i0;i<s.length();i){hash[s.charAt(i)-a];}for(i…