在CentOS 8上安装Docker CE和Docker Compose RHEL 8

时间:2020-02-23 14:31:41  来源:igfitidea点击:

在本教程中,我们将引导我们逐步完成在CentOS 8上安装Docker CE的步骤。 RHEL8. 还介绍了如何在RHEL 8/CentOS 8 Linux上安装Docker Compose。 Docker在RHEL 8上不受正式支持,因为它已被Red Hat工具buildah和podman取代。我们可以了解有关RHEL 8 Linux版本中见证的新功能的更多信息。

但是,如果我们每天都使用Docker并不能立即切换到buildah和podman呢?,不用担心,因为可以在RHEL 8/CentOS 8上安装Docker和Docker Compose。Docker是使我们能够创建,部署和部署工具的工具。并在容器中运行应用程序。容器允许开发人员使用其依赖项打包应用程序,并将其作为单个程序包发送出去。容器通常在微服务环境中使用。

Docker组件/术语

在深入探讨安装和使用示例之前,我们需要澄清一些特定于Docker的术语。以下是Docker生态系统中常用的术语。Docker守护进程:也称为Docker Engine,它是一个在主机系统上运行的后台进程,负责构建和运行容器.Docker Client:这是由Docker所使用的命令行工具用户与Docker守护程序进行交互。Docker镜像:镜像是一个不可变文件,本质上是容器的快照。 Docker镜像具有运行应用程序所需的文件系统和应用程序依赖项。Docker容器:这是具有应用程序及其依赖项的Docker镜像的运行实例。每个容器都有唯一的进程ID,并且与其他容器隔离。容器唯一共享的是Kernel.Docker注册表:这是一个负责管理Docker容器镜像的存储和交付的应用程序。它可以是私人的也可以是公共的。

在CentOS 8上安装Docker CE RHEL 8

到目前为止,我们已经介绍了Docker介绍和术语。我们应该准备在RHEL 8/CentOS 8上安装Docker CE。我们将首先安装Docker,然后安装Docker Compose。

共有两种版本的Docker:社区版(CE):非常适合希望开始使用Docker并尝试基于容器的应用程序的个人开发人员和小型团队企业版(EE):专为企业开发和IT团队设计大规模生产,运输和运行关键业务应用程序。

Docker Enterprise Edition需要有效的许可证才能使用。在本教程中,我们将在RHEL 8上安装Docker CE。让我们先添加Docker存储库,然后再进行安装。

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

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

### CentOS 8 ###
$sudo yum makecache 
Updating Subscription Management repositories.
Updating Subscription Management repositories.
Docker CE Stable - x86_64                                                                                             6.1 kB/s |  14 kB     00:02    
Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)                                                          1.8 kB/s | 4.1 kB     00:02    
Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)                                                             3.5 kB/s | 4.1 kB     00:01    
Metadata cache created.

### RHEL 8 ###
$sudo yum makecache 
Updating Subscription Management repositories.
Docker CE Stable - x86_64                                                                                                                                             14 kB/s | 3.8 kB     00:00    
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                                                                                                              33 kB/s | 2.8 kB     00:00    
Red Hat Ansible Engine 2.8 for RHEL 8 x86_64 (RPMs)                                                                                                                   29 kB/s | 2.4 kB     00:00    
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                                                                                                 30 kB/s | 2.4 kB     00:00    
Red Hat Satellite Tools 6.6 for RHEL 8 x86_64 (RPMs)                                                                                                                  29 kB/s | 2.1 kB     00:00    
Metadata cache created.

最后,通过在终端中运行以下命令来安装Docker CE。

sudo yum install docker-ce

如果我们遇到与Podman相关的问题,请允许擦除。

sudo yum install docker-ce --allowerasing

按下键盘上的y键同意安装:

Dependencies resolved.
=====================================================================================================================================================================================================
 Package                               Architecture                   Version                                                        Repository                                                 Size
=====================================================================================================================================================================================================
Installing:
 docker-ce                             x86_64                         3:19.03.13-3.el8                                               docker-ce-stable                                           24 M
Installing dependencies:
 containerd.io                         x86_64                         1.3.7-3.1.el8                                                  docker-ce-stable                                           29 M
     replacing  runc.x86_64 1.0.0-66.rc10.module+el8.2.1+6465+1a51e8b6
 docker-ce-cli                         x86_64                         1:19.03.13-3.el8                                               docker-ce-stable                                           38 M
 libcgroup                             x86_64                         0.41-19.el8                                                    rhel-8-for-x86_64-baseos-rpms                              70 k
Removing dependent packages:
 podman                                x86_64                         1.9.3-2.module+el8.2.1+6867+366c07d6                           @rhel-8-for-x86_64-appstream-rpms                          60 M

Transaction Summary
=====================================================================================================================================================================================================
Install  4 Packages
Remove   1 Package

Total download size: 92 M
Is this ok [y/N]: y

以及导入GPG密钥。

Total                                                                                                                                                                 21 MB/s |  92 MB     00:04     
warning: /var/cache/dnf/docker-ce-stable-fa9dc42ab4cec2f4/packages/containerd.io-1.3.7-3.1.el8.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Docker CE Stable - x86_64                                                                                                                                             29 kB/s | 1.6 kB     00:00    
Importing GPG key 0x621E9F35:
 Userid     : "Docker Release (CE rpm) <theitroad@localhost>"
 Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
 From       : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: y

启动并启用Docker服务以在启动时启动。

$sudo systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

泊坞窗服务状态应指示正在运行。

$systemctl status  docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2017-10-06 17:05:53 EAT; 2min 32s ago
     Docs: https://docs.docker.com
 Main PID: 230185 (dockerd)
    Tasks: 13
   Memory: 41.4M
   CGroup: /system.slice/docker.service
           └─230185 /usr/bin/dockerd -H fd://--containerd=/run/containerd/containerd.sock

创建了" docker group",但没有用户添加到该组。将用户添加到该组以在不使用sudo的情况下运行docker命令

$sudo usermod -aG docker $USER
$id $USER
uid=1000(jmutai) gid=1000(jmutai) groups=1000(jmutai),10(wheel),984(docker)

注销并再次登录以使用不带sudo的Docker。可以使用以下方法检查安装的Docker版本:

$newgrp docker
$docker version
Client: Docker Engine - Community
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.13.15
 Git commit:        4484c46d9d
 Built:             Wed Sep 16 17:02:36 2017
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.13
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       4484c46d9d
  Built:            Wed Sep 16 17:01:11 2017
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.3.7
  GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

拉测试泊坞窗图片

最后一步是通过下载测试Docker容器来测试安装。

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

列出下载的图像。

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

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

$docker run -it --rm alpine /bin/sh
/# apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://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: 9754 distinct packages available
/# exit

在CentOS 8上安装Docker Compose CentOS的8

我们已经安装并运行了Docker,现在让我们将其更改为Docker Compose。 Docker Compose是用于定义和运行多容器Docker应用程序的工具。

使用撰写文件配置应用程序服务。与运行docker命令不同,仅需一个命令即可从配置创建和启动所有服务。 Docker Compose是用于开发,测试和登台环境以及CI工作流的出色工具。

在RHEL 8/CentOS 8上安装Docker Compose

请遵循我们关于在Linux上安装最新Docker Compose的单独教程。

在Linux上安装Docker Compose

为了使本教程保持简短,我们将不涉及Docker compose的用法。建议我们仔细阅读Docker官方文档和Docker Compose文档以了解更多信息。

安装Docker UI可选

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

如何安装Portainer Docker UI管理器

监控Docker容器

监视Docker容器可以使用Netdata或者Ctop或者Prometheus和Grafana等监视工具来实现。