如何在 CentOS 上安装 Docker
容器操作系统通过 兰斯狄龙
Docker 已迅速成为最受欢迎的容器化程序。对于CentOS用户,这意味着在 CentOS 上安装 Docker 的需求增加。幸运的是,在CentOS 6、CentOS 7 和CentOS 8上安装 Docker 的过程相当简单。
在这篇博客中,我们将了解如何为 CentOS 6、7 和 8 成功完成 CentOS Docker 安装,然后查看一些可以帮助您入门的 Docker 基础知识。
什么是 Docker?
Docker 是一个用于构建、运行和管理容器的程序。
容器作为 linux 内核下的命名空间运行,并使用包含文件系统和在容器中运行进程所需的所有数据的映像来实现。这主要是将正在运行的进程与系统上的其他资源分开。
这当然是简化了,因为这篇文章并不是真正讲 docker 是什么以及如何使用它,而是如何在 CentOS 下安装它。
在 CentOS 上安装 Docker
在 CentOS 上安装 Docker 因版本而异。您将在下面找到有关如何在 CentOS 版本 6、7 和 8 上安装 Docker 的说明。
在 CentOS 6 上安装 Docker
CentOS 6 将于 2020 年 11 月 30 日终止,因此不会再有更新。Docker CE不适用于 CentOS 6。我们能做的最好的事情是从 docker.com 安装一个旧版本,即版本 1.7.0-1:
yum install -y https://get.docker.com/rpm/1.7.0/centos-6/RPMS/x86_64/docker-engine-1.7.0-1.el6.x86_64.rpm
但是,不再推荐 CentOS 6,因为它将不再接收安全修复或更新。
在 CentOS 7 上安装 Docker
默认的 docker 版本(CentOS 7)是 2:1.13.1-162git64e9980,已经很老了。我们将从主 docker 存储库安装最新版本。首先我们安装 yum-utils,它提供了一个轻松添加存储库的命令。然后我们使用该命令添加 docker repo,然后安装 docker-ce:
yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce
我的测试 CentOS 7 实例上安装的版本是 docker-ce-19.03.13-3 。
在 CentOS 8 上安装 Docker
Centos 8 默认安装 podman。它几乎是 docker 的替代品,它不使用服务来运行。然而,我们不会在本文中介绍 podman,因此我们将删除它以安装 docker。DNF 是 yum 的替代品。Yum 是 CentOS 8 中 dnf 的替代名称。
dnf remove -y podman buildah # 这个和dnf-utils一样,这个可能已经安装了 dnf install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo dnf install -y docker-ce
在 CentOS 上运行 Docker
Docker 使用一些内核模块,例如覆盖 fs 模块,因此请确保您的系统启用了模块加载。确保以下选项设置为 0:
kernel.modules_disabled = 0
否则启动 docker 服务将失败。然后你可以启动 docker 并确保它在启动时启动。
在 CentOS 7/8 上:
systemctl 启动泊坞窗 systemctl 启用泊坞窗 systemctl 状态泊坞窗
在 CentOS 6 上:
chkconfig 泊坞窗 服务泊坞窗启动 服务码头工人状态
在 CentOS 中设置 Docker 权限
默认情况下,只有 root 可以运行 docker 命令。要允许 root 以外的用户运行 docker,请将其添加到 docker 组:
usermd -G docker -a loginid
这会将用户添加到 docker 组。-a 选项附加组,而不是替换组。通过运行一个简单的 hello-world 应用程序进行测试:
码头工人运行你好世界
在 CentOS 中使用 Docker 命令
为了显示一些命令,我们将运行一个简单的容器,它会一直运行直到您停止它。在一个 shell 中,键入:
码头工人运行-p 80:80 nginx
这表示运行 nginx 容器(一个 Web 服务器)并将主机上的端口 80 映射到容器中的端口 80。你会看到一些输出,然后:
/docker-entrypoint.sh:配置完成;准备启动
在另一个 shell 中,使用以下命令进行测试:
curl -v 本地主机
您还将看到 nginx 容器的日志条目。显示使用 docker ps 运行的容器:
#d50f34872cea inginx "/docker-entrypoint..." 2 分钟前向上 2 分钟 0.0.0.0:80->80/tcp crazy_heisenberg
如果你不给一个容器起名字,docker 会给它一个随机的名字。您可以使用 CONTAINER ID 或名称来引用容器。
码头工人记录 crazy_heisenberg
Docker 日志显示了日志信息,该信息之前也打印到终端。docker inspect 会显示很多关于容器的内部信息。
在 CentOS 上充分利用 Docker
你现在有一个工作的 Docker 安装。Docker 可以与 SELinux 一起使用,也可以不使用。SELinux 启用了额外的功能以允许容器分离。
对于那些探索容器化或容器编排选项的人,OpenLogic 架构师可以为实施 Docker、Kubernetes 等提供专家指导和支持。OpenLogic 架构师也精通 CentOS,提供许多 CentOS 服务和支持。
立即与专家交谈,了解我们如何为您提供从开源容器到操作系统等一切方面的帮助。
了解有关 CentOS、Docker 等的更多信息
CentOS 的未来是什么?观看下面的网络研讨会,听取我们专家的意见。
其他资源
正在寻找有关流行的开源容器化技术的其他资源?请务必查看我们的开源专家提供的这些选项:
博客 -什么是 Docker CE?
博客 - Kubernetes 编排简介
来自 https://www.openlogic.com/blog/install-docker-centos