Fedora安装Docker

Docker官方网站提供了 Fedora 系统上安装Docker CE的官方文档。藏云阁对官方文档进行了镜像,可以访问这里阅读

Docker安装涉及的相关的软件项目:

组件 说明
Docker Engine 核心的容器引擎(运行在后台的轻量级虚拟机中)
Docker CLI 也就是在终端里用的 docker 命令
Docker Compose 用于定义和运行多容器应用的工具(docker compose 命令)
Docker Buildx 用于构建镜像的构建工具
Containerd 运行容器的运行时
Runc Containerd调用的更底层容器的运行时,默认会作为Containerd的依赖自动安装
GUI 图形界面 Linux默认不安装。Docker Desktop 版本鲸鱼形状的应用图标,可以用来管理镜像、容器、设置资源等

先决条件

操作系统要求.要安装 Docker 引擎,您需要使用以下 Fedora 版本之一的维护版本:

  • Fedora 43
  • Fedora 42
  • Fedora 41

卸载旧版本

在安装 Docker 引擎之前,您需要卸载任何冲突的软件包。

您的Linux发行版可能提供非官方的Docker软件包,这些软件包可能会与Docker提供的官方软件包发生冲突。在安装Docker Engine的正式版本之前,您必须先卸载这些软件包。

 sudo dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

dnf可能会报告您未安装任何这些软件包。

卸载 Docker 时,存储在/var/lib/docker/中的镜像、容器、卷和网络不会自动删除。

安装

Fedora 安装 Docker 有以下几种安装方式,可以根据自己的需求和喜好选择:

  • 安装 Docker Desktop for Linux 默认会包含 Docker 引擎(请通过连接获取方法)。
  • 基于脚本安装。仅推荐用于测试和开发环境。
  • 基于软件源安装.
  • 获取离线包,手动安装并手动管理升级。

基于脚本安装

基于脚本安装是Docker官方推荐的安装方式之一。

该脚本会安装最新、稳定版本的Docker CLI、Docker Engine,以及依赖。

脚本使用注意事项:

  1. 需要 root 或 sudo 权限运行
  2. 尝试自动检测您的 Linux 发行版和版本,并为您配置软件包管理系统。支持ubuntu|debian|raspbian/centos|fedora|rhel。
  3. 不允许自定义大多数安装参数
  4. 不询问确认直接安装所有依赖项和建议项
  5. 默认安装最新稳定版的 Docker CLI、Docker Engine、Docker Buildx、Docker Compose、containerd 和 runc。使用此脚本配置机器时,可能导致这些软件包发生意外的主版本升级。部署到生产系统前请务必在测试环境中验证升级
  6. 不适用于升级现有 Docker 安装。使用脚本更新现有安装时,依赖项可能不会升级到预期版本,导致使用过时的版本

该脚本原文件存在 Github 仓库,藏云阁代码仓库做了镜像,详情 https://gitea.cncfstack.com/docker/docker-install

  1. 下载脚本

    curl -fsSL https://gitea.cncfstack.com/docker/docker-install/raw/branch/master/install.sh -o install-docker.sh
    
  2. 验证脚本

    cat install-docker.sh
    
  3. 模拟运行

    sh install-docker.sh --dry-run
    
  4. 运行安装脚本。使用 Aliyun 提供软件源镜像提供软件包下载

    sudo sh install-docker.sh --mirror Aliyun
    
  5. 启动 docker 服务,并设置开机启动

    systemctl start docker
    systemctl enable docker
    

使用rpm仓库安装

软件源安装最新稳定版本

在新主机上首次安装 Docker 引擎之前,您需要先设置 Docker 仓库。之后,您可以从该仓库安装和更新 Docker。

设置仓库。安装dnf-plugins-core软件包(该软件包提供管理您的DNF存储库的命令)并设置存储库。

sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/fedora/docker-ce.repo > /etc/yum.repos.d/docker-ce.repo
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo

repo仓库来源

要安装最新版,请运行:

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

如果提示您接受 GPG 密钥,请验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配,则接受它。

此命令会安装 Docker,但不会启动 Docker。它还会创建一个docker组,不过默认情况下不会向该组添加任何用户。

软件源安装指定版本

要安装特定版本的Docker Engine,请先列出仓库中可用的版本:

dnf list docker-ce --showduplicates | sort -r

docker-ce.x86_64    3:29.1.4-1.el9    docker-ce-stable
docker-ce.x86_64    3:29.1.3-1.el9    docker-ce-stable
<...>

返回的列表取决于启用了哪些存储库,并且特定于您的 RHEL 版本(如本示例中的.el9后缀所示)。

通过其完全限定的软件包名称安装特定版本,该名称由软件包名称(docker-ce) 加上版本字符串(第 2 列)组成,二者之间用连字符分隔(-)。例如 docker-ce-3:29.1.4-1.el9

用所需版本替换 <VERSION_STRING>,然后运行以下命令进行安装:

VERSION_STRING=3:29.1.3-1.el9
sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

该命令会安装Docker,但是不会启动Docker。它还会创建一个docker组,不过默认情况下不会向该组添加任何用户。

从软件包安装

如果您无法使用 Docker 的rpm存储库安装 Docker 引擎,您可以下载适用于您版本的.rpm文件并手动安装。每次想要升级 Docker 引擎时,您都需要下载新的文件。

访问https://download.docker.com/linux/fedora/并选择您的 Fedora 版本。然后浏览至并下载您想要安装的 Docker 版本的文件。

安装 Docker 引擎,并将以下路径更改为您下载 Docker 软件包的路径。

 sudo dnf install /path/to/package.rpm

Docker 已安装但未启动。该docker组已创建,但未向该组添加任何用户。

安装完成后启用Docker服务

安装完成后,Docker 服务将自动启动。要验证 Docker 是否正在运行,请使用:

sudo systemctl status docker
sudo systemctl status containerd.service

某些系统可能已禁用此行为,需要手动启动:

sudo systemctl start docker
sudo systemctl start containerd.service

设置开机自动启动Docker服务

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

验证Docker安装

  1. 打开终端(Terminal),运行以下命令检查 Docker 版本:

    docker --version
    

    如果安装成功,会显示 Docker 的版本信息。

  2. 运行以下命令测试 Docker 是否正常工作:

    docker run registry.cncfstack.com/docker.io/library/hello-world:latest
    

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

    如果看到 “Hello from Docker!” 的输出,说明 Docker 已成功安装并运行。

升级Docker

要升级 Docker 引擎,请下载更新的软件包文件并重复安装过程,使用dnf upgrade代替dnf install,并指向新文件。

卸载Docker

卸载 Docker 引擎、CLI、containerd 和 Docker Compose 软件包:

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

您的主机上的镜像、容器、卷或自定义配置文件不会自动删除。要删除所有镜像、容器和卷:

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

移除源列表和密钥环

sudo rm /etc/apt/sources.list.d/docker.sources /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.asc /etc/apt/keyrings/docker.gpg

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

备用仓库

如果默认的镜像源无法访问,可以使用以下信息进行安装。