Ubuntu 24.04 LTS Noble安装Docker Desktop简单教程

news2024/12/23 3:06:54

Docker 为用户提供了在 Ubuntu Linux 上快速创建虚拟容器的能力。但是,那些不想使用命令行管理容器的人可以在 Ubuntu 24.04 LTS 上安装 Docker Desktop GUI,本教程将提供用于设置 Docker 图形用户界面的命令……

Docker Desktop 是一个易于使用的集成容器管理环境,为 Docker 提供图形用户界面 (GUI)。

我们需要一些特殊的东西来遵循本教程吗?

好吧,要遵循本教程,我们需要 Ubuntu 24.04 Noble Linux 或任何其他版本,例如 Ubuntu 22.04、20.04、18.04…除此之外,用户必须具有 sudo 访问权限才能安装软件包或访问 root 用户的权限。下载软件包时,必须有活动的互联网连接。

注意:如果没有Ubuntu 24.04服务器,可以考虑雨云,1元即可试用,需要绑定微信,支持多种Linux发行版。地址是:www.ecscoupon.com/rainyun

步骤 1:Ubuntu 24.04 软件包更新

在可通过按Ctrl+Alt+T快捷方式访问的命令终端上,运行系统更新和升级命令以升级现有软件包并安装最新的可用安全更新。

sudo apt update && sudo apt upgrade

另外,安装一些常见的依赖项:

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

注意:如果您的Ubuntu 24.04上尚未安装 Docker,则只需按照第 2 步、第 3 步和第 4 步操作,而其余只想安装 Docker Desktop GUI 的用户可以直接跳至第 5 步。

第 2 步:添加 Docker 的官方 GPG 密钥

最新版本的 Docker 无法通过 Ubuntu 24.04 的默认系统存储库进行安装。因此,我们必须添加 Docker 的官方存储库,但在此之前,请将其 GPG 密钥添加到您的系统:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

步骤 3:设置 Docker 存储库

添加 GPG 密钥后,让我们将 Docker 存储库添加到我们的 Ubuntu 24.04 APT 源:

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

运行系统更新命令,刷新软件包列表。

sudo apt update

步骤4:安装Docker引擎

现在,我们可以使用默认的 APT 包管理器来获取和安装在 Ubuntu 24.04 Linux 上安装 Docker 的包。

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

检查Docker Engine的服务状态:

完成上述命令后,检查并确认 Docker 服务正在运行且没有产生任何错误:

systemctl status docker --no-pager -l

第 6 步:在 Ubuntu 24.04 中安装 Docker Desktop

与引擎不同,Docker Desktop GUI 工具不能通过我们在步骤 3中添加的存储库下载,因此,我们需要从Docker 的官方网站下载 .deb 包,访问链接并单击“ Debian ”。

获得 Docker Desktop Deb 二进制文件后,转到命令终端,然后首先切换到Downloads目录。这是因为我们从浏览器获取的任何内容都会进入该目录。

cd Downloads

现在,检查下载的Docker Desktop 文件是否存在。

ls

如果文件存在,则运行给定的命令来安装它。

sudo apt install ./docker-desktop-*-amd64.deb

可选)安装完成后,可以删除下载的 Debian 二进制文件以释放存储空间:

rm docker-desktop-*-amd64.deb

可以忽略此警告并转到下一步:

N: Download is performed unsandboxed as root as file '/home/linuxshout/docker-desktop-4.30.0-amd64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

步骤 7:启动 Docker Desktop

要在 Ubuntu 24.04 上启动 Docker Desktop,请单击 Dock 上的“显示应用程序”图标或按键盘上的 Window 键。Ubuntu 上安装的所有应用程序都会出现,搜索Docker Desktop,当您看到其快捷方式图标时,单击以运行它。

然而,有一个问题:撰写本文时,Docker尚不支持Ubuntu 24.04 ,因此 Docker Desktop 将无法启动。这是因为 Ubuntu 开发人员在最新的 24.04 Noble 版本中进行了更改。在此最新的 Ubuntu 版本中,它限制了非特权命名空间。

因此,为了解决这个问题,我们必须至少运行一次给定的命令:

sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0

之后重新启动 Docker Desktop 服务:

systemctl --user restart docker-desktop

现在,从应用程序区域启动 Docker Desktop 或使用给定的命令:

systemctl --user start docker-desktop

设置系统启动时自动启动:

systemctl --user enable docker-desktop

而要停止服务:

systemctl --user stop docker-desktop

- - - - - - - - - -{以下是可选操作} - - - - - - - - -

好吧,还有一件事,每当您重新启动系统时,您都必须再次运行“ sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 ”,直到 Docker 开发人员提供更新以支持Ubuntu 24.04。或者,你可以创建一个 systemd 服务文件,让系统执行 AppArmor 命令以允许使用非特权命名空间。

它是可选的:

sudo nano /etc/systemd/system/set-apparmor-restrict.service
添加以下内容:

[Unit]
Description=Disable AppArmor Restriction on Unprivileged User Namespaces

[Service]
Type=oneshot
ExecStart=/sbin/sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
RemainAfterExit=true

[Install]
WantedBy=multi-user.target


重新加载 systemd 并启用服务:

sudo systemctl daemon-reload sudo systemctl enable set-apparmor-restrict.service sudo systemctl start set-apparmor-restrict.service


如果您将来不需要该服务文件,可以禁用并删除它:

禁用方法:

sudo systemctl disable set-apparmor-restrict.service
sudo systemctl daemon-reload

删除服务文件:

sudo rm /etc/systemd/system/set-apparmor-restrict.service
sudo systemctl daemon-reload

步骤 8. 登录 Docker Desktop(HUB)

要从 Docker Dashboard 或 Docker 菜单登录 Docker Hub 帐户,Docker Desktop 应用程序依赖于将pass凭据存储在 gpg2 加密文件中。因此,我们首先需要初始化,pass否则我们会在仪表板上不断收到警告。

注意:在执行给定步骤之前,http://​ 请确保您已经拥有Docker Hub帐户。 ​

转到你的终端并输入:

gpg --generate-key

之后只需提供一些名称作为用户 ID,然后提供电子邮件地址。

完成后,系统将要求您设置密码。

复制生成的密钥并与密码一起使用。

现在,你将看到一个 PUB 密钥,复制它并使用给定的命令来初始化它。

pass init paste-your-key

粘贴密钥后按 Enter 键。

下面是截图,可以让您清楚地了解。

现在,转到您的 Docker Desktop 仪表板并单击“login”按钮。

单击它时,浏览器将打开 Docker Hub 页面进行登录。输入你的官方凭证,然后单击打开链接它将自动将您登录到桌面应用程序中的 Hub。

步骤 9.如何下载 Docker 镜像

好吧,如果您已经在使用 Docker CLI,那么您将在 Docker Desktop Linux App 上看到所有图像和容器。但是,那些完全不熟悉它的人可以使用给定的命令来提取图像并启动容器。

要在 Ubuntu 命令终端上拉取映像,请运行:

docker pull image-name

例如,如果您想拉取 Ubuntu 镜像,命令 l 将为:

docker pull ubuntu

现在,我们可以使用 Docker Desktop 的图形用户界面来管理它。选择“Images”部分,然后单击下载的 Image 前面的“Run”按钮来创建容器。

之后,为了让终端发出命令,点击容器,然后点击活动容器前面的三个弹出菜单中选择“在终端中打开”即可:

结论

这些步骤不仅包括如何在 Ubuntu 24.04 上安装 Docker Desktop,还包括如何处理镜像和容器以及 Docker Hub 签名过程。现在,你可以使用 Docker Desktop Dashboard GUI 来简化容器创建、管理等任务。

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

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

相关文章

IVI(In-Vehicle Infotainment,智能座舱的信息娱乐系统)

IVI能够实现包括三维导航、实时路况、辅助驾驶等在线娱乐功能。 IVI人机交互形式(三板斧):声音、图像、文字 IVI人机交互媒介I(四件套):中控屏幕(显示、触控)、仪表显示、语言、方…

Python爬虫(2) --爬取网页页面

文章目录 爬虫URL发送请求UA伪装requests 获取想要的数据打开网页 总结完整代码 爬虫 Python 爬虫是一种自动化工具,用于从互联网上抓取网页数据并提取有用的信息。Python 因其简洁的语法和丰富的库支持(如 requests、BeautifulSoup、Scrapy 等&#xf…

规范:前后端接口规范

1、前言 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然…

SpringCloud极限速通版

1.SpringCloud概述 1.1 什么是微服务 1.1.1 单体架构 业务所有功能都打包在一个war包或jar包,这种方式就是单体架构,单体架构的应用就是单体应用。这种架构开发简单,部署简单,一个项目包含所有功能;省去了多个项目之…

图片上传成功却无法显示:静态资源路径配置问题解析

1、故事的背景 最近,有个学弟做了一个简单的后台管理页面。于是他开始巴拉巴拉撘框架,写代码,一顿操作猛如虎,终于将一个简单的壳子搭建完毕。但是在实现功能:点击头像弹出上传图片进行头像替换的时候,卡壳…

力扣高频SQL 50 题(基础版)第一题

文章目录 力扣高频SQL 50 题(基础版)第一题1757.可回收且低脂的产品题目说明思路分析实现过程准备数据:实现方式:结果截图: 力扣高频SQL 50 题(基础版)第一题 1757.可回收且低脂的产品 题目说…

昇思25天学习打卡营第14天 | SSD目标检测

探索SSD目标检测算法 在深入学习SSD(Single Shot MultiBox Detector)目标检测算法的过程中,我对现代计算机视觉中的目标检测技术有了更加深入的理解。SSD作为一种有效的单阶段目标检测算法,它在准确性和检测速度之间取得了良好的…

HAL库源码移植与使用之RTC时钟

实时时钟(Real Time Clock,RTC),本质是一个计数器,计数频率常为秒,专门用来记录时间。 普通定时器无法掉电运行!但RTC可由VBAT备用电源供电,断电不断时 这里讲F1系列的RTC 可以产生三个中断信号&#xff…

分类损失函数 (一) torch.nn.CrossEntropyLoss()

1、交叉熵 是一种用于衡量两个概率分布之间的距离或相似性的度量方法。机器学习中,交叉熵常用于损失函数,用于评估模型的预测结果和实际标签的差异。公式: y:真是标签的概率分布,y:模型预测的概率分布 …

FPGA实验3:D触发器设计

一、实验目的及要求 熟悉Quartus II 的 VHDL 文本设计简单时序电路的方法; 掌握时序电路的描述方法、波形仿真和测试,特别是时钟信号的特性。 二、实验原理 运用Quartus II 集成环境下的VHDL文本设计方法设计简单时序电路——D触发器,依据…

【Godot4.2】GodotXML插件 - 解析和生成XML

概述 近期在研究基于Godot的XML和SVG解析,并且在昨天(2024年7月20日)编写了一个简易的SVG文件解析器。 在群友的提示下,知道早就存在GodotXML这样的解析器。所以今天就来测试使用并准备研究学习源代码了。和以往一样&#xff0c…

康康近期的慢SQL(oracle vs 达梦)

近期执行的sql,哪些比较慢? 或者健康检查时搂一眼状态 oracle: --最近3天内的慢sql set lines 200 pages 100 col txt for a65 col sql_id for a13 select a.sql_id,a.cnt,a.pctload,b.sql_text txt from (select * from (select sql_id,co…

MySQL0.MSI方式安装

本机运行环境:Windows10 1.下载 进入MySQL官方下载页面:https://downloads.mysql.com/archives/installer/ 红色箭头:点击选择下载的版本 黄色箭头:点击下载MSI安装包 此次下载选择MySQL8.0.37的MSI安装包 2.安装 下载完毕后…

微信小程序开发:基础架构与配置文件

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

SecureCRT (mac or windows)解决中文显示乱码

中文乱码问题的方法主要包括设置SecureCRT的编码为UTF-8以及设置LANG环境变量为zh_CN.UTF-8。‌ 1.设置SecureCRT的编码为UTF-8:‌ 打开SecureCRT,‌进入Options -> Global Options -> Default Session -> Edit Default Settings-> Appear…

数据结构day3

一、思维导图 二、顺序表实现学生管理系统 //头文件 #ifndef TEST_H #define TEST_H #define MAX_SIZE 100//定义学生类型 typedef struct {char name[20]; //姓名int age; //年龄double score; //分数 }datatype;//定义班级类型 typedef struct {datatype student[MAX…

Linux fork、进程的退出和等待详解

初识fork函数 它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;子进程中返回0&#xff0c;父进程返回子进程id&#xff0c;出错返回-1 最简单的fork使用示例 #include<stdi…

初阶数据结构的实现2 双向链表

1.双向链表 1.1 概念与结构 1.2实现双向链表 1.2.1定义程序目标 #define _CRT_SECURE_NO_WARNINGS 1 #pragma once #include<stdio.h> #include<assert.h> #include<stdlib.h> #include<stdbool.h> typedef int LTDateType; //定义双向链表结构 typ…

list(链表)容器的规则及list的高级排序案例

1.list的基本概念&#xff1a; 功能&#xff1a;将数据进行链式存储 list&#xff08;链表&#xff09;是一种物理存储单元上非连续的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接实现的 链表是由一系列节点组成&#xff0c;节点的组成包含存储数据元素的…