Ubuntu 22.04.4安装Docker引擎

c0072945867cc887983ae81fbb342339.gif

正文共:1024 字 13 图,预估阅读时间:1 分钟

我们前面安装了几次Ubuntu的操作系统Ubuntu 23.10通过APT安装Open vSwitch,在开始之前,我还是简单提醒一下,从Ubuntu下载页面,我们可以看到不同的下载版本:

df89707437aa128e6b9faae918428d3d.png

其中,可用的镜像文件就是ubuntu-22.04.4-desktop-amd64.iso和ubuntu-22.04.4-live-server-amd64.iso,而这两者又存在区别,desktop版本是Ubuntu的桌面版本,它包含了用于日常使用的所有应用程序,如办公套件、图像处理工具、网络浏览器等,适用于日常计算、娱乐、开发或其他需要图形用户界面的任务。而live-server版本则是Ubuntu的服务器版本,它不包含图形用户界面,主要用于设置和管理服务器,例如设置Web服务器;它仅提供了一个命令行界面,允许用户通过终端进行服务器的配置和管理。

使用desktop版本,可以完成我们之前配置的所有实验如何在Ubuntu 23.10部署KVM并创建虚拟机?

最近准备搞一下云手机,用到了Docker,之前我们也再CentOS上安装过在CentOS7上安装Docker引擎的3种方法,但是CentOS已经停服了。Docker官方介绍,要在Ubuntu上开始使用Docker引擎,需要使用Ubuntu Mantic 23.10、Ubuntu Jammy 22.04(LTS)或Ubuntu Focal 20.04(LTS)其中的64位版本,那我们本次就先用22.04.4版本来安装Docker吧。

此外,官方要求先卸载非官方分发版的软件包,以及依赖软件containerd和runc,然后才能安装Docker引擎的官方版本。

首先,创建一个虚拟机,安装操作系统。

f9a3785c290e33b57793e6f89e0b7c27.png

在安装或试用页面,选中“install Ubuntu”

0698e54c4512c8ac24cefb2c289da30c.png

使用系统推荐的磁盘分区安装,擦除磁盘并开始安装系统。

2d4f451728ab6f5e2edfb64082f1737b.png

设置好账户和密码等信息。

6d10922bf8806fcf33a7aabc1469243f.png

接下来,就是等待系统完成安装。安装完成之后,点击立即重启就行了。

不出意外的话,系统应该默认没有安装SSH服务,个人推荐还是配置一下SSH服务器,使用命令安装OpenSSH服务器即可Ubuntu开启SSH远程登录

sudo apt install -y openssh-server

f980c09a10335adb8c1f67169a78ac27.png

注意看,软件仓库也是TUNA的。安装完成后,启用并使能SSH服务,确保SSH服务状态为成功加载并使能开机启动。

d761c0da01105b8be6a2f6ed7772af03.png

接下来,为root用户配置一个登录密码。

e7ffcc54a55f4d0b2959b01d1fe9dc89.png

然后修改配置文件,在配置文件/etc/ssh/sshd_config中添加以下两条命令,使root用户可以远程登录设备:

sudo nano /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes

修改之后重启一下SSH服务,然后修改IP地址为静态IP地址Debian通过NetworkManager配置双网卡

e64e1a0b5085a94afecac1215d859836.png

为了避免端口问题,我们直接关闭防火墙ufw。

76ad49a9bb5e0b27d40bda41d3237d18.png

在新主机上首次安装Docker引擎之前,我们需要先添加Docker的官方GPG密钥,并设置Docker的apt存储库。

apt-get update
apt-get install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update

8c0a1ef68268fcfe474a2653c3bbd3f6.png

然后,我们就可以从存储库中安装和更新Docker了。

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

80988fec99ebb6624af2471cfddc3e2f.png

运行helloworld镜像,验证Docker引擎安装是否成功。

docker run hello-world

0eda9bdea2fccc53b96d29a46b76cee1.png

此命令可以下载测试镜像,并在容器中运行。容器运行后,它会打印消息提示安装成功且运行正常,然后退出。

如果要卸载Docker Engine、CLI、containerd和Docker Compose软件包,请执行以下命令:

apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

卸载Docker引擎等软件,主机上的镜像、容器、卷或自定义配置文件不会自动删除。如果要删除所有镜像、容器和卷,请执行以下命令:

rm-rf/var/lib/docker
rm-rf/var/lib/containerd

至于任何编辑过的配置文件,则必须手动删除。

8d0dc119804307fc2c175751a131d794.gif

长按二维码
关注我们吧

d5569b8c282bf57ceef1c3a61a2f63a3.jpeg

b4868227658d81436457b75fd39ceb03.png

如何给最小化安装的CentOS主机装个远程桌面?

Ubuntu开启SSH远程登录

MX250笔记本安装Pytorch、CUDA和cuDNN

复制成功!GTX1050Ti换版本安装Pytorch、CUDA和cuDNN

Netmaker服务器端快速搭建WireGuard网络

RDP授权119天不够用?给你的Windows Server续个命吧!

人工智能如何发展到AIGC?解密一份我四年前写的机器学习分享材料

一起学习几个简单的Python算法实现

清华大模型ChatGLM3部署初体验

VMware Workstation部署最新版OpenWrt 23.05.3

将OpenWrt 23.05.3部署到VMware ESXi

快速定制VMware ESXi 8.0U2并部署到DL580 Gen9

HPE服务器配置通过业务网卡登录iLO管理页面

如何操作RAID 5阵列的扩容?

奇怪的知识又学到了:服务器的序列号、产品ID和UUID不见了怎么办?

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

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

相关文章

因式分解技巧1-----一次提净

什么是因式分解? 在小学,我们都学过质因数分解。就比如:,然而我们可以发现!4此时还没有被分解完,于是: 则: 这是小学的质因数分解。那么我们一起看看初中的因式分解。 例1&…

【Kotlin】从Java开发视角出发了解Kotlin

Kotlin是一种与Java兼容且运行在Java虚拟机上的静态类型编程语言。它在Java的基础上加入了许多新的特性和改进,使得编写代码更加简洁、安全和高效。作为一个Java程序员,学习Kotlin可以帮助你更好地应对现代软件开发的挑战,并提高代码质量和开…

C 练习实例23

题目: 打印出如下图案(菱形)。 ********* ****************程序分析: 先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控…

SpringBoot3 函数式web 小记

前言:函数式web是spring5.2之后的一个新特性,Spring Boot 3 进一步优化了这一模型,为开发现代 Web 应用提供了更加灵活、简洁的方法; 函数式web的四大核心对象 - RouterFunction:定义路由信息 - RequestPredicates&am…

深度解析 Spring 源码:三级缓存机制探究

文章目录 一、 三级缓存的概述二、 三级缓存的实现原理2.1 创建Bean流程图2.2 getBean()2.3 doGetBean()2.4 createBean()2.5 doCreateBean()2.4 getSingleton() 三、 三级缓存的使用场景与注意事项3.1 在实际开发中如何使用三级缓存3.2 三级缓存可能出现的问题及解决方法 一、…

【软件设计】

设计原则 单一职责原则Single responsibility principle(SRP) A class should have a single purpose and only one reason to change If a class has more than one responsibility, then the responsibilities becomes coupled SRP is one of the simplest of the principl…

Destroy销毁速度慢导致的错误

Destroy的销毁速度慢,而导致新加载的UI内容在Destroy代码后面,也随Destroy的GameObect销毁了。改用DestroyImmediate就可以保证新加入的内容不会被在此之前的销毁行为而销毁。 DestroyImmediate应当谨慎,因为它会立即销毁对象,不受…

【C++】-List经典面试笔试题总结-删除-插入-情况-合并-排序等经典操作

在C中,list 容器是标准模板库(STL)中的一种双向链表容器。以下是一些关于 list 的经典笔试面试题及解答: 1. list 容器的主要特点是什么? 解答: list 容器的主要特点包括: 它是一个双向链表结…

检索算法和技术的本质回顾

目录 一、数据结构和存储特点对检索效率的重大影响总结 二、数组和链表的线性结构检索 (一)基本分析 (二)使用二分查找提升数组检索效率 (三)灵活改造链表提升检索效率 问题背景 解决方案 歌曲块链…

循序渐进丨使用 Python 向 MogDB 数据库批量操作数据的方法

当我们有时候需要向数据库里批量插入数据,或者批量导出数据时,除了使用传统的gsql copy命令,也可以通过Python的驱动psycopg2进行批量操作。本文介绍了使用psycopg2里的executemany、copy_from、copy_to、copy_expert等方式来批量操作 MogDB …

ES6的Set与Map

在ES6之前,我们存储数据的结构主要有两种:数组、对象,而在ES6中新增了另外两种数据结构:Set、Map。 一、什么是Set? Set是ES6新增的数据结构,类似数组,但是它的元素成员是唯一的。 Set的使用&am…

[C++][算法基础]求a的b次方模p的值(快速幂)

给定 n 组 ,对于每组数据,求出 的值。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含三个整数 。 输出格式 对于每组数据,输出一个结果,表示 的值。 每个结果占一行。 数据范围 1≤n≤100000, 1≤≤2 …

移动Web学习09-响应式布局bootstrap案例开发

3、综合案例-AlloyTeam移动全端 准备工作 HTML 结构 <title>腾讯全端</title> <link rel"shortcut icon" href"favicon.ico" type"image/x-icon"> <!-- 层叠性&#xff1a;咱们的css 要 层叠 框架的 --> <link rel&…

匿名函数与gorm中的Transaction事务方法

整理下go中的匿名函数&#xff0c;项目中很多地方都在用。 1、函数类型的变量 Go中&#xff0c;函数也是一种数据类型。定义一个函数&#xff0c;把这个函数赋值给一个变量&#xff0c;这个变量就是函数类型的变量&#xff0c;用这个变量等价于直接调函数&#xff1a; packa…

数字阅览室解决方案

一、方案概述 “数字阅览室”概念一经提出&#xff0c;就得到了广泛的关注&#xff0c;纷纷组织力量进行探讨、研究和开发&#xff0c;进行各种模型的试验。随着数字地球概念、技术、应用领域的发展&#xff0c;数字阅览室已成为数字地球家庭的成员&#xff0c;为信息高速公路…

介绍TCP窗口

在TCP通信中&#xff0c;TCP窗口是用于控制发送方发送数据的速率的机制之一。TCP窗口大小会根据网络情况和接收方的处理能力进行动态调整&#xff0c;以最大化网络吞吐量并减少拥塞和丢包的风险。 当发送方以较快速度发送TCP数据包时&#xff0c;TCP窗口大小可能会自动调整&am…

高频前端面试题汇总之JavaScript篇(上)

一、数据类型 1. JavaScript有哪些数据类型&#xff0c;它们的区别&#xff1f; JavaScript共有八种数据类型&#xff0c;分别是 Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt。 其中 Symbol 和 BigInt 是ES6 中新增的数据类型&#xff1a; Symbol 代…

如何免费申请长期HTTPS证书?

长期HTTPS证书申请步骤&#xff1a; 第一步&#xff1a;确定证书类型 根据你的网站需求&#xff0c;选一种适合的HTTPS证书。一般有这几种&#xff1a; - 域名型&#xff08;DV&#xff09;证书&#xff1a;最基础&#xff0c;验证你对域名的所有权&#xff0c;适合个人网站或…

构建有序链表,有序链表的归并,反转链表

本次将对于构建有序链表&#xff0c;有序链表的归并&#xff0c;反转链表&#xff0c;进行一一介绍和代码分享。 首先是一些链表中的基本的函数&#xff1a; Node* creatList() {Node* headNode (Node*)malloc(sizeof(Node));assert(headNode);headNode->next NULL;retu…