【Docker-2】在 Debian 上安装 Docker 引擎

在 Debian 上安装 Docker 引擎

要开始在 Debian 上使用 Docker 引擎,请确保满足先决条件,然后按照安装步骤操作。

先决条件

操作系统要求
要安装 Docker Engine,您需要以下 Debian 之一的 64 位版本 版本:

  • Debian Bookworm 12 (稳定版)
  • Debian Bullseye 11 (旧稳定版)

Debian 的 Docker 引擎兼容 x86_64(或 amd64)、armhf、arm64、 和 PPC64LE (PPC64EL) 架构。
卸载旧版本
在安装 Docker Engine 之前,您需要卸载任何冲突的包。

必须先卸载这些软件包,然后才能安装 Docker Engine 的正式版本。

要卸载的非官方软件包包括:

  • docker.io
  • docker-compose
  • docker-doc
  • podman-docker

Docker 引擎 将这些依赖项捆绑为一个捆绑包:。如果您有 已安装或之前,请卸载它们以避免 与 Docker Engine 捆绑的版本冲突。

运行以下命令以卸载所有冲突的软件包:

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

apt-get可能会报告您没有安装这些软件包。

存储在 卸载 Docker 时自动删除。如果你想从一个 全新安装,并希望清理任何现有数据,请阅读卸载 Docker 引擎部分。

安装方式

您可以根据需要以不同的方式安装 Docker Engine:

  • Docker Engine 与适用于 Linux 的 Docker Desktop 捆绑在一起。这是 最简单、最快捷的入门方式。
  • 设置和安装 Docker 引擎Docker 的存储库apt.
  • 手动安装并手动管理升级。
  • 使用方便脚本。只 建议用于测试和开发环境。
使用 apt 存储库安装

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

  1. 设置 Docker 的存储库。
# Add Docker's official GPG key:
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/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg# Add the repository to Apt sources:
echo \"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
  1. 安装 Docker 包。
    若要安装最新版本,请运行:
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 通过运行映像来验证安装是否成功:
docker run hello-world

此命令下载测试映像并在容器中运行它。当 容器运行,它打印确认消息并退出。

从软件包安装

如果无法使用 Docker 的存储库来安装 Docker Engine,则可以 下载您的版本的文件并手动安装。你需要 每次要升级 Docker Engine 时,都会下载一个新文件。

  1. 转到https://download.docker.com/linux/debian/dists/.

  2. 在列表中选择您的 Debian 版本。

  3. 转到并选择适用的体系结构。

  4. 为 Docker 引擎、CLI、containerd 下载以下文件。 和 Docker Compose 包:

  • containerd.io__.deb
  • docker-ce__.deb
  • docker-ce-cli__.deb
  • docker-buildx-plugin__.deb
  • docker-compose-plugin__.deb
  1. 安装软件包。将以下示例中的路径更新为 Docker 包的下载位置。
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

Docker 守护程序会自动启动。

  1. 通过运行映像来验证 Docker 引擎安装是否成功:hello-world
service docker start
docker run hello-world

此命令下载测试映像并在容器中运行它。当 容器运行,它打印确认消息并退出。

使用便利脚本进行安装

Docker 在以下位置提供了一个方便的脚本:https://get.docker.com/将 Docker 安装到 非交互开发环境。便利脚本不是 建议用于生产环境,但它对于创建 根据您的需求量身定制的预配脚本。

在本地运行从 Internet 下载的脚本之前,请务必检查这些脚本。 在安装之前,请熟悉潜在的风险和限制 。

  • 脚本需要或权限才能运行。
  • 该脚本尝试检测您的 Linux 发行版和版本,以及 为您配置包管理系统。
  • 该脚本不允许您自定义大多数安装参数。
  • 该脚本在不请求的情况下安装依赖项和建议 确认。这可能会安装大量软件包,具体取决于 主机的当前配置。
  • 默认情况下,该脚本会安装 Docker 的最新稳定版本, containerd 和 runc。使用此脚本配置计算机时,这可能会 导致 Docker 的意外主要版本升级。
  • 该脚本不是用于升级现有 Docker 安装而设计的。什么时候 使用脚本更新现有安装,依赖项可能不是 更新到预期版本,导致版本过时。

卸载 Docker 引擎

  1. 卸载 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
  1. 主机上的映像、容器、卷或自定义配置文件 不会自动删除。要删除所有映像、容器和卷,请执行以下操作:
$ rm -rf /var/lib/docker
$ rm -rf /var/lib/containerd

您必须手动删除任何编辑的配置文件。

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

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

相关文章

隐私计算介绍

这里只对隐私计算做一些概念性的浅显介绍&#xff0c;作为入门了解即可 目录 隐私计算概述隐私计算概念隐私计算背景国外各个国家和地区纷纷出台了围绕数据使用和保护的公共政策国内近年来也出台了数据安全、隐私和使用相关的政策法规 隐私计算技术发展 隐私计算技术安全多方计…

C# WPF上位机开发(usb设备访问)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 目前很多嵌入式设备都支持usb访问&#xff0c;特别是很多mcu都支持高速usb访问。和232、485下个比较&#xff0c;usb的访问速度和它们基本不在一个…

C语言求n的阶乘(n!)

从键盘输入一个数&#xff0c;求出这个数的阶乘&#xff0c;即 n!。 1、算法思想 首先要清楚阶乘定义&#xff0c;所谓 n 的阶乘&#xff0c;就是从 1 开始乘以比前一个数大 1 的数&#xff0c;一直乘到 n&#xff0c;用公式表示就是&#xff1a;1234…(n-2)(n-1)nn! 具体的操…

unittest自动化测试框架讲解以及实战

为什么要学习unittest 按照测试阶段来划分&#xff0c;可以将测试分为单元测试、集成测试、系统测试和验收测试。单元测试是指对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作&#xff0c;通常指函数或者类&#xff0c;一般是开发完成的。 单元…

进程间通讯-消息队列

介绍 消息队列是一种存放在内核中的数据结构&#xff0c;用于在不同进程之间传递消息。它基于先进先出&#xff08;FIFO&#xff09;的原则&#xff0c;进程可以将消息发送到队列中&#xff0c;在需要的时候从队列中接收消息。消息队列提供了一种异步通信的方式&#xff0c;使…

❤Mac上后端环境工具安装使用

❤Mac上后端环境工具安装使用 Cornerstone 使用 &#xff08;最好的SVN Mac软键&#xff09; 使用教程 安装 由于Cornerstone是收费的&#xff0c;因此你可以去网上下载破解版&#xff0c;直接安装即可。 配置远程仓库 首先&#xff0c;打开CornerStone&#xff0c;在界面…

工业数据的特殊性和安全防护体系探索思考

随着工业互联网的发展&#xff0c;工业企业在生产运营管理过程中会产生各式各样数据&#xff0c;主要有研发设计数据、用户数据、生产运营数据、物流供应链数据等等&#xff0c;这样就形成了工业大数据&#xff0c;这些数据需要依赖企业的网络环境和应用系统进行内外部流通才能…

19、商城系统(一):项目架构图,配置前端后台开发环境,构建git项目,导入 人人开源框架并前端后台启动

目录​​​​​​​ 一、项目架构图 二、配置环境 1.配置linux (1)复制linux环境

【Python】—— NumPy基础及取值操作

NumPy基础及取值操作 第1关&#xff1a;ndarray对象第2关&#xff1a;形状操作第3关&#xff1a;基础操作第4关&#xff1a;随机数生成第5关&#xff1a;索引与切片 第1关&#xff1a;ndarray对象 任务描述 本关任务&#xff1a;根据本关所学知识&#xff0c;补全代码编辑器中…

react基于antd二次封装spin组件

目录 react基于antd二次封装spin组件组件使用组件效果 react基于antd二次封装spin组件 组件 import { Spin } from antd; import propTypes from "prop-types"; import React from react; import styleId from "styled-components"; // 使用 父div必须加…

【爬虫课堂】如何高效使用短效代理IP进行网络爬虫

目录 一、前言 二、代理IP的基本知识 三、短效代理IP的优势 四、高效使用短效代理IP的技巧 1. 多源获取代理IP 2. 质量筛选代理IP 3. 使用代理池 4. 定时更换代理IP 5. 失败重试机制 6. 监控和自动化 五、示例代码 六、结语 一、前言 网络爬虫是一种自动化程序&am…

Windbg 常用命令

Windbg 是微软开发的一款强大的调试工具&#xff0c;用于调试 Windows 操作系统和应用程序。它支持各种调试技术&#xff0c;包括用户模式和内核模式调试、本地和远程调试、源代码和汇编级别调试等。以下是 Windbg 中一些常用的命令&#xff1a; 标准命令&#xff1a; g - 继…

MongoDB中的关系

本文主要介绍MongoDB中的关系。 目录 MongoDB的关系嵌入关系引用关系 MongoDB的关系 MongoDB是一个非关系型数据库&#xff0c;它使用了键值对的方式来存储数据。因此&#xff0c;MongoDB没有像传统关系型数据库中那样的表、行和列的概念。相反&#xff0c;MongoDB中的关系是通…

LLM之RAG实战(五)| 高级RAG 01:使用小块检索,小块所属的大块喂给LLM,可以提高RAG性能

RAG&#xff08;Retrieval Augmented Generation&#xff0c;检索增强生成&#xff09;系统从给定的知识库中检索相关信息&#xff0c;从而使其能够生成事实信息、上下文相关信息和特定领域的信息。然而&#xff0c;在有效检索相关信息和生成高质量响应方面&#xff0c;RAG面临…

【网络安全】-Linux操作系统—CentOS安装、配置

文章目录 准备工作下载CentOS创建启动盘确保硬件兼容 安装CentOS启动安装程序分区硬盘网络和主机名设置开始安装完成安装 初次登录和配置更新系统安装额外的软件仓库安装网络工具配置防火墙设置SELinux安装文本编辑器配置SSH服务 总结 CentOS是一个基于Red Hat Enterprise Linu…

【MySQL】MySQL的执行计划

在数据库管理中&#xff0c;优化查询性能是至关重要的一环。而了解和掌握MySQL的执行计划&#xff0c;则是优化查询性能的关键步骤之一。本文将深入探讨MySQL的执行计划&#xff0c;帮助大家更好地理解和利用这一工具。 什么是MySQL的执行计划&#xff1f; MySQL的执行计划是…

美颜SDK是什么?视频美颜SDK在直播平台中的集成与接入教程详解

当下&#xff0c;主播们追求更加自然、精致的外观&#xff0c;而观众也期待在屏幕前欣赏到更为清晰、美丽的画面。为了满足这一需求&#xff0c;美颜SDK应运而生&#xff0c;成为直播平台的重要利器之一。 一、什么是美颜SDK&#xff1f; 通过美颜SDK&#xff0c;开发者可以…

Kotlin Multiplatform的现状—2023年网络研讨会

Kotlin Multiplatform的现状—2023年网络研讨会 在2023年&#xff0c;Kotlin Multiplatform因其开发、当前状态和未来潜力而受到了相当大的关注。随着越来越多的开发者对采用KMP进行跨平台解决方案表示兴趣&#xff0c;JetBrains在11月下旬推出了一系列网络研讨会作为回应。首…

“去 Android化”为何蔚然成风?

早在2008年时&#xff0c;国内市场诞生了第一批自研手机OS&#xff0c;由于种种缘由铩羽而归&#xff0c;“优化Android ”貌似成为了本土特色。而从2023年下半年开始掀起了一股"去安卓化"的热潮&#xff0c;像华为、小米、vivo等都不约而同的站在了同一战线。 “去…

bisect_left,bisect_right,bisect的用法,区别以源码分析

bisect_left(*args, **kwargs) 向一个数组插入一个数字&#xff0c;返回应该插入的位置。 如果这个数字不存在于这个数组中&#xff0c;则返回第一个比这个数大的数的索引 如果这个数字存在&#xff0c;则返回数组中这个数的位置的最小值&#xff08;即最左边那个索引&#xf…