Docker For Fedora

熟悉 RHEL 和 CentOS 的亲一定也听说过 Fedora 发行版, 相比于”精仿版”的 CentOS, Fedora 更像是 RHEL 的近亲, 甚至是亲儿子的地位. 在 RHEL 上不支持 Docker CE 不说, 在 CentOS 上还依旧使用了 3.10+这样古老级的内核版本. 直接导致 Docker 的一些最新特性无法在该内核版本上实现. 顺理成章的 Fedora Server 版成了完美体验 Docker 的最佳”RHEL” 平台

本篇文章只介绍 Docker CE 版本在 Fedora 系统中的部署

系统需求

  • 64bit Fedora 24 Server
  • 64bit Fedora 25 Server

卸载老版本 Docker Engine

老版本的 Docker 被叫做 dockerdocker-engine 如果系统当前有这些版本的系统, 那么你需要先卸载他们

1
2
3
4
5
$ sudo dnf remove docker \
docker-common \
container-selinux \
docker-selinux \
docker-engine

需要 dnf 命令的回显显示没有相关的软件包被安装

/var/lib/docker 目录下, 包含了镜像, 容器, 数据卷网络配置

说明: 在 Fedora 中, 软件包管理器早就已经变成使用 dnf 管理了, 你仍旧可以使用 yum 命令, 但是最终还是会被重定向到 dnf. 值得欣慰的是 dnf 的用法和 yum 的用法几乎是完全一样的, 就连软件源配置文件的位置和格式也是通用的

安装 Docker

从软件源中安装 Docker

配置软件仓库 Docker-CE

  • 安装 dnf-plugins-core 工具集, 以提供 dnf config-manager命令的支持
1
$ sudo dnf -y install dnf-plugins-core
  • 配置 Docker 软件源 (Stable)
1
2
3
$ sudo dnf config-manager \
--add-repo \
https://download.docker.com/linux/fedora/docker-ce.repo
  • 开启/关闭 开发版(edge) Docker 软件源
1
2
$ sudo dnf config-manager --enable docker-ce-edge
$ sudo dnf config-manager --disable docker-ce-edge

安装 Docker CE

  • 更新软件源索引
1
$ sudo dnf makecache fast

接受 GPG key

  • 安装 Docker
1
2
$ sudo dnf install docker-ce  # 安装最新版本
$ sudo dnf -y install docker-ce-<VERSION> # 安装指定版本
  • 启动 Docker
1
2
$ sudo systemctl start docker
$ sudo systemctl enable docker
  • 验证 Docker EE 正常运行
1
$ sudo docker run hello-world
  • 升级 Docker
1
2
$ sudo dnf makecache fast
$ sudo dnf update docker-ce # sudo dnf upgrade docker-ce 两者等价

使用软件包直接安装

  • 下载对应版本的 .rpm 软件包

Docker CE: Go to https://download.docker.com/linux/fedora/7/x86_64/stable/ and download the .rpm

  • 安装软件包
1
$ sudo dnf -y install /path/to/package.rpm
  • 启动 Docker 服务
1
2
$ sudo systemctl start docker
$ sudo systemctl enable docker
  • 验证 Docker 服务正常运行
1
$ sudo docker run hello-world

卸载 Docker CE

  • 卸载 Docker CE
1
$ sudo dnf remove docker-ce
  • 镜像/容器/数据卷和自定义配置文件不会随着卸载而自动删除, 你需要手动去清除他们
1
$ sudo rm -rf /var/lib/docker

参考官方文档: