如何在RHEL8或者CentOS8系统上安装Docker


1. 前言

本文主要讲解如何在RHEL8或者CentOS8系统上安装Docker。本教程将指导您如何在RHEL8或CentOS8。Docker在RHEL8上没有得到官方支持,因为它已经被红帽工具-buildah和podman所取代。我们将在另一篇文章中讨论buildah和podman。

但如果你每天都使用Docker,却不能立即切换到buildah和podman,那该怎么办呢?不要担心,因为有办法安装Docker和Docker组成的RHEL8或CentOS8。Docker是一个允许您在容器中创建、部署和运行应用程序的工具。容器允许开发人员将应用程序与其依赖项打包,并将其作为单个包发出。容器通常用于微服务环境。

如何在RHEL8或者CentOS8系统上安装Docker

如何在RHEL8或者CentOS8系统上安装Docker


Docker部件和术语
在深入了解安装和使用示例之前,我们需要澄清一些Docker特有的术语。下面是Docker生态系统中常用的术语。

  • Docker daemon: 这也被称为Docker引擎,它是一个后台进程,运行在负责构建和运行容器的主机系统上。
  • Docker Client: 这是用户用来与Docker守护进程交互的命令行工具。
  • Docker Image: 镜像是一个不可变的文件,本质上是容器的快照。docker镜像具有运行应用程序所需的文件系统和应用程序依赖项。
  • Docker container: 这是一个正在运行的docker镜像实例,带有一个应用程序及其依赖项。每个容器都有唯一的进程ID,并且与其他容器隔离。容器共享的唯一东西是内核。
  • Docker registry: 这是一个负责管理Docker容器镜像的存储和交付的应用程序。它可以是私有的,也可以是公共的。

2. 在RHEL8/CentOS8上安装Docker CE

到目前为止,我们已经介绍了docker的介绍和术语。我们应该准备好在RHEL8或CentOS8上安装Docker CE。我们将开始安装Docker。

如何在RHEL8或者CentOS8系统上安装Docker

在RHEL8/CentOS8上安装Docker CE


有两个版本的Docker可用。

Community Edition (CE): 对于希望开始使用Docker并尝试基于容器的应用程序的个人开发人员和小型团队来说,这是一个理想的选择。
Enterprise Edition (EE): 为企业开发和IT团队设计,这些团队在生产环境中构建、交付和运行业务关键型应用程序。

Docker企业版需要一个活动许可证才能使用。在本指南中,我们将在RHEL8或CentOS8上安装Docker CE。在安装Docker库之前,让我们先添加它。

<code>sudocurlhttps://download.docker.com/linux/centos/docker-ce.repo-o/etc/yum.repos.d/docker-ce.repo
/<code>

这个命令将把Docker存储库文件下载到/etc/yum.repos.d/docker-ce.repo。让我们更新RPM索引缓存。

``` bash
sudo yum makecache

<code>UpdatingSubscriptionManagementrepositories.
UpdatingSubscriptionManagementrepositories.
DockerCEStable-x86_646.1kB/s|14kB00:02
RedHatEnterpriseLinux8forx86_64-AppStreamBeta(RPMs)1.8kB/s|4.1kB00:02
RedHatEnterpriseLinux8forx86_64-BaseOSBeta(RPMs)3.5kB/s|4.1kB00:01
Metadatacachecreated.


最后,通过在终端中运行下面的命令来安装DockerCE。
/<code>

bash
sudo dnf -y install docker-ce --nobest

<code>启动并使Docker服务在引导时启动。
/<code>

bash
sudo systemctl enable --now docker

<code>docker服务状态应该指示正在运行。
/<code>

bash
systemctl status docker

<code>●docker.service-DockerApplicationContainerEngine
Loaded:loaded(/usr/lib/systemd/system/docker.service;enabled;vendorpreset:disabled)
Active:active(running)sinceSun2019-03-1009:52:54EAT;29sago
Docs:https://docs.docker.com
MainPID:2875(dockerd)
Tasks:21(limit:11510)
Memory:48.3M
CGroup:/system.slice/docker.service
├─2875/usr/bin/dockerd
└─2882docker-containerd--config/var/run/docker/containerd/containerd.toml
Mar1009:52:54rhel8.localdockerd[2875]:time="2019-03-10T09:52:54.261477553+03:00"level=infomsg="ClientConnswitchingbalancerto\"pick_first\"">
Mar1009:52:54rhel8.localdockerd[2875]:time="2019-03-10T09:52:54.261506651+03:00"level=infomsg="pickfirstBalancer:HandleSubConnStateChange:0xc>
Mar1009:52:54rhel8.localdockerd[2875]:time="2019-03-10T09:52:54.261707466+03:00"level=infomsg="pickfirstBalancer:HandleSubConnStateChange:0xc>
Mar1009:52:54rhel8.localdockerd[2875]:time="2019-03-10T09:52:54.261722124+03:00"level=infomsg="Loadingcontainers:start."
Mar1009:52:54rhel8.localdockerd[2875]:time="2019-03-10T09:52:54.637205789+03:00"level=infomsg="Defaultbridge(docker0)isassignedwithanIP>
Mar1009:52:54rhel8.localdockerd[2875]:time="2019-03-10T09:52:54.835734889+03:00"level=infomsg="Loadingcontainers:done."
Mar1009:52:54rhel8.localdockerd[2875]:time="2019-03-10T09:52:54.857760401+03:00"level=infomsg="Dockerdaemon"commit=d7080c1graphdriver(s)=ove>
Mar1009:52:54rhel8.localdockerd[2875]:time="2019-03-10T09:52:54.858095579+03:00"level=infomsg="Daemonhascompletedinitialization"
Mar1009:52:54rhel8.localdockerd[2875]:time="2019-03-10T09:52:54.915887172+03:00"level=infomsg="APIlistenon/var/run/docker.sock"
Mar1009:52:54rhel8.localsystemd[1]:StartedDockerApplicationContainerEngine.

`dockergroup`被创建,但是没有用户被添加到组中。将您的用户添加到此组以运行不带sudo的docker命令。
/<code>

bash
sudo usermod -aG docker

<code>
/<code>

bash
id USER¨G5GbashidUSER

<code>uid=1000(jmutai)gid=1000(jmutai)groups=1000(jmutai),10(wheel),984(docker)

退出并再次登录使用Docker而不使用sudo。安装的Docker版本可以通过以下方式检查:
/<code>

bash
newgrp docker

<code>```bash
dockerversion
/<code>

Client:
Version: 18.06.3-ce
API version: 1.38
Go version: go1.10.3
Git commit: d7080c1
Built: Wed Feb 20 02:26:51 2019
OS/Arch: linux/amd64
Experimental: false

Server:
Engine:
Version: 18.06.3-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: d7080c1
Built: Wed Feb 20 02:28:17 2019
OS/Arch: linux/amd64
Experimental: false

3. 在RHEL8或者CentOS8系统上拉取测试docker镜像

最后一步是在RHEL8或者CentOS8系统上通过下载测试版的docker容器来测试安装。

如何在RHEL8或者CentOS8系统上安装Docker

在RHEL8或者CentOS8系统上


<code>dockerpullalpine
/<code>

Using default tag: latest
latest: Pulling from library/alpine
8e402f1a9c57: Pull complete
Digest: sha256:644fcb1a676b5165371437feaa922943aaf7afcfa8bfee4472f6860aad1ef2a0
Status: Downloaded newer image for alpine:latest

查看已经下载的Docker列表:

<code>dockerimages
/<code>

REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest 5cb3aa00f899 2 days ago 5.53MB
hello-world latest fce289e99eb9 2 months ago 1.84kB

通过从下载的镜像运行alpine容器来验证Docker CE是否正常工作。

<code>dockerrun-it--rmalpine/bin/sh
/#apkupdate
fetchhttp://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetchhttp://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
v3.9.2-1-g592d872fb8[http://dl-cdn.alpinelinux.org/alpine/v3.9/main]
v3.9.2-2-ge7dc3349a9[http://dl-cdn.alpinelinux.org/alpine/v3.9/community]
OK:9754distinctpackagesavailable
/#exit
/<code>

4. 在RHEL8或者CentOS8上安装Docker Compose

我们已经在RHEL8或者CentOS 8上安装并运行了Docker,现在让我们把档位改为Docker合成。Docker组合是一个用于定义和运行多容器Docker应用程序的工具。

如何在RHEL8或者CentOS8系统上安装Docker

在RHEL8或者CentOS8上安装Docker Compose


应用程序服务是使用组合文件配置的。与运行docker命令不同,从配置创建和启动所有服务只需要一个命令。Docker Compose是用于开发、测试和准备环境以及CI工作流的优秀工具。

5. 在RHEL8或者CentOS 8上下载Docker Compose

请遵循我们在在RHEL8或者CentOS 8 Linux上安装最新Docker Compose的单独指南。

6. 在RHEL8或者CentOS 8上安装Docker UI -可选

如果你需要Docker管理界面,它可以让你轻松地管理不同的Docker主机和容器,请给Portainer一个尝试。它易于安装和使用。

7. 在RHEL8或者CentOS 8上监控Docker containers

可以在RHEL8或者CentOS 8上使用Netdata或Ctop或Prometheus和Grafana等监控工具来监控Docker容器。

8. 总结

通过本文,您应该可以了解到如何在RHEL8或者CentOS8系统上安装Docker或者相关组件了吗?其实组件不多,关键是后面的配置与使用。

本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/rmxx/1497.html

点击了解更多,快速查看更多的技术文章列表。


分享到:


相關文章: