智传网优云课堂,专注分享IT技术
与IT技术爱好者一起共同学习进步

如何在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

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 CE

有两个版本的Docker可用。

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

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

sudo curl  https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

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

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.

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

sudo dnf -y  install docker-ce --nobest

启动并使Docker服务在引导时启动。

sudo systemctl enable --now docker

docker服务状态应该指示正在运行。

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 Sun 2019-03-10 09:52:54 EAT; 29s ago
Docs: https://docs.docker.com
Main PID: 2875 (dockerd)
Tasks: 21 (limit: 11510)
Memory: 48.3M
CGroup: /system.slice/docker.service
├─2875 /usr/bin/dockerd
└─2882 docker-containerd –config /var/run/docker/containerd/containerd.toml
Mar 10 09:52:54 rhel8.local dockerd[2875]: time="2019-03-10T09:52:54.261477553+03:00" level=info msg="ClientConn switching balancer to \"pick_first\"">
Mar 10 09:52:54 rhel8.local dockerd[2875]: time="2019-03-10T09:52:54.261506651+03:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc>
Mar 10 09:52:54 rhel8.local dockerd[2875]: time="2019-03-10T09:52:54.261707466+03:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc>
Mar 10 09:52:54 rhel8.local dockerd[2875]: time="2019-03-10T09:52:54.261722124+03:00" level=info msg="Loading containers: start."
Mar 10 09:52:54 rhel8.local dockerd[2875]: time="2019-03-10T09:52:54.637205789+03:00" level=info msg="Default bridge (docker0) is assigned with an IP >
Mar 10 09:52:54 rhel8.local dockerd[2875]: time="2019-03-10T09:52:54.835734889+03:00" level=info msg="Loading containers: done."
Mar 10 09:52:54 rhel8.local dockerd[2875]: time="2019-03-10T09:52:54.857760401+03:00" level=info msg="Docker daemon" commit=d7080c1 graphdriver(s)=ove>
Mar 10 09:52:54 rhel8.local dockerd[2875]: time="2019-03-10T09:52:54.858095579+03:00" level=info msg="Daemon has completed initialization"
Mar 10 09:52:54 rhel8.local dockerd[2875]: time="2019-03-10T09:52:54.915887172+03:00" level=info msg="API listen on /var/run/docker.sock"
Mar 10 09:52:54 rhel8.local systemd[1]: Started Docker Application Container Engine.

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

sudo usermod -aG docker $USER
id $USER

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

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

newgrp docker
docker version

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 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列表:

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

通过从下载的镜像运行alpine容器来验证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

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

我们已经在RHEL8或者CentOS 8上安装并运行了Docker,现在让我们把档位改为Docker合成。Docker组合是一个用于定义和运行多容器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或者相关组件了吗?其实组件不多,关键是后面的配置与使用。

赞(0)
未经允许不得转载:Linux入门学习到精通 » 如何在RHEL8或者CentOS8系统上安装Docker
分享到: 更多 (0)

学习QQ群:557371664

关注微信公众号自助视频学习

评论 抢沙发

评论前必须登录!