Linux 系统上安装 Docker 方法详解与比较

devtools/2025/2/5 16:40:54/

Docker 是现代 DevOps 和容器化应用开发的重要工具,它简化了应用的部署和管理流程。本文将详细介绍在 Linux 系统上安装 Docker 的多种方法,并对它们的适用场景、优缺点进行对比,确保读者能够根据自身需求选择最优方案。

在这里插入图片描述

1. 官方推荐的安装方法

Docker 官方提供了基于 APT(Debian/Ubuntu)、DNF/YUM(RHEL/CentOS/Fedora)和 Zypper(openSUSE)的安装方法。这些方法通常提供了最新的稳定版本,适用于生产环境。

1.1 使用官方 APT 源安装 Docker(适用于 Debian/Ubuntu)

步骤
sudo apt update
sudo apt install -y ca-certificates curl gnupg# 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc# 添加 Docker APT 源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
优缺点

优点

  • 直接使用官方提供的最新稳定版。
  • 适用于生产环境,长期支持(LTS)版本更新较快。
  • 依赖管理较为完善。

缺点

  • 需要手动配置 Docker 官方源。
  • 依赖于 APT 包管理器,可能与系统的默认软件仓库版本冲突。

1.2 使用官方 YUM/DNF 源安装 Docker(适用于 RHEL/CentOS/Fedora)

步骤
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
优缺点

优点

  • 直接安装最新的官方稳定版。
  • 适用于生产环境,官方维护更新。

缺点

  • 依赖于 Docker 官方 YUM 源。
  • 在 RHEL 上需要额外配置(默认使用 Podman )。

2. 使用 Snap 安装 Docker(适用于 Ubuntu)

Snap 是 Ubuntu 生态下流行的通用包管理工具,可以用来安装 Docker。

步骤
sudo snap install docker
优缺点

优点

  • 适用于 Ubuntu 及其衍生版本。
  • 独立于系统包管理器,避免软件冲突。

缺点

  • 由于 Snap 的沙盒机制,某些功能可能受限。
  • 版本更新可能不如官方 APT 源及时。

3. 使用二进制包安装 Docker

对于不希望使用包管理器,或希望完全控制安装过程的用户,可以直接下载安装官方提供的二进制包。

步骤
curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-24.0.6.tgz -o docker.tgz
tar xzvf docker.tgz
sudo mv docker/* /usr/bin/
优缺点

优点

  • 无需依赖包管理器,适用于嵌入式系统或精简环境。
  • 可用于离线安装。

缺点

  • 需要手动管理依赖和更新。
  • 适合高级用户,配置难度较大。

4. 使用 Docker 官方安装脚本

Docker 官方提供了一键安装脚本,适用于快速安装测试环境。

步骤
curl -fsSL https://get.docker.com | sudo bash
优缺点

优点

  • 安装过程自动化,省去配置步骤。
  • 适用于快速搭建开发环境。

缺点

  • 不适用于生产环境,缺乏细粒度控制。
  • 可能会安装不符合系统最佳实践的依赖。

5. 使用 Podman 作为 Docker 替代方案(无 root 权限)

在某些发行版(如 Fedora)中,Podman 被推荐作为 Docker 的替代方案。Podman 提供与 Docker 兼容的 CLI,支持无 root 权限运行。

安装步骤(适用于 Fedora)
sudo dnf install -y podman
优缺点

优点

  • 无需 root 权限,安全性更高。
  • 轻量级,与 OCI 标准兼容。

缺点

  • 生态支持不如 Docker 强。
  • 部分 Docker 依赖的工具可能不兼容。

6. 不同安装方法对比总结

安装方法适用系统适用场景优点缺点
官方 APTDebian/Ubuntu生产环境稳定可靠,官方支持需手动配置源
官方 YUMRHEL/CentOS/Fedora生产环境官方维护,长期支持需要额外配置
SnapUbuntu开发环境免去依赖冲突可能受限于 Snap 沙盒
二进制包所有 Linux高度定制无需包管理器需手动更新管理
官方脚本所有 Linux快速测试一键安装生产环境不推荐
PodmanFedora/RHEL安全环境无 root 权限生态支持较弱

7. 结论

在 Linux 系统上安装 Docker 主要有几种方式:

  • 官方包管理器安装(APT/YUM):适用于生产环境,官方推荐,更新稳定。
  • Snap 安装:适用于 Ubuntu 生态,方便管理但受限于沙盒。
  • 二进制包安装:适用于精简环境,灵活但维护成本高。
  • 官方脚本:适用于测试环境,快速但不推荐用于生产。
  • Podman 替代方案:适用于对安全性要求高的场景。

建议生产环境优先选择 官方包管理器安装,开发和测试环境可考虑 Snap 或官方脚本,对安全性有额外要求的用户可使用 Podman


http://www.ppmy.cn/devtools/156322.html

相关文章

【游戏设计原理】98 - 时间膨胀

从上文中,我们可以得到以下几个启示: 游戏设计的核心目标是让玩家感到“时间飞逝” 游戏的成功与否,往往取决于玩家的沉浸感。如果玩家能够完全投入游戏并感受到时间飞逝,说明游戏设计在玩法、挑战、叙事等方面达到了吸引人的平衡…

【机器学习理论】朴素贝叶斯网络

基础知识: 先验概率:对某个事件发生的概率的估计。可以是基于历史数据的估计,可以由专家知识得出等等。一般是单独事件概率。 后验概率:指某件事已经发生,计算事情发生是由某个因素引起的概率。一般是一个条件概率。 …

【学习笔记之coze扣子】应用创建

今天我们来创建一个应用,也是非常简单 首先我们先创建一个应用的工作中心,为他写上名字 第二步 进来之后我们需要创建一个工作流,如果你用工作流,你也可以点击引入你需要的工作流 创建好工作流后,你会在工作台上看见一…

蓝桥杯python基础算法(2-1)——排序

目录 一、排序 二、例题 P3225——宝藏排序Ⅰ 三、各种排序比较 四、例题 P3226——宝藏排序Ⅱ 一、排序 (一)冒泡排序 基本思想:比较相邻的元素,如果顺序错误就把它们交换过来。 (二)选择排序 基本思想…

【单细胞-第三节 多样本数据分析】

文件在单细胞\5_GC_py\1_single_cell\1.GSE183904.Rmd GSE183904 数据原文 1.获取临床信息 筛选样本可以参考临床信息 rm(list ls()) library(tinyarray) a geo_download("GSE183904")$pd head(a) table(a$Characteristics_ch1) #统计各样本有多少2.批量读取 学…

python学opencv|读取图像(四十九)原理探究:使用cv2.bitwise()系列函数实现图像按位运算

【0】基础定义 按位与运算:两个等长度二进制数上下对齐,全1取1,其余取0。 按位或运算:两个等长度二进制数上下对齐,有1取1,其余取0。 按位异或运算: 两个等长度二进制数上下对齐,相…

计算机网络部分知识点(王道考研笔记)

计算机网络体系结构(概念、框架)(选择填空题) 什么是计算机网络? 计算机网络的概念:计算机网络是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软…

【零基础到精通】小白如何自学网络安全

小白人群想学网安但是不知道从哪入手?一篇文章告诉你如何在4个月内吃透网安课程,掌握网安技术 一、基础阶段 1.了解网安相关基础知识 了解中华人民共和国网络安全法、熟知网络安全的相关概念:包括信息安全、风险管理、网络攻防原理、认证与…