幾天前我們 泊塢窗引擎 如何 在 Ubuntu 上安裝 Docker Engine 和 Docker Compose今天我將向您展示如何使用 Docker Compose 在基於 RHEL 的系統(如 AlmaLinux、CentOS 和 Rocky Linux)上安裝 Docker Engine。

本指南已經在 CentOS 8、AlmaLinux 8 和 Rocky Linux 8 上進行了官方測試。出於演示目的,我們將使用在 Proxmox 上運行的 AlmaLinux 容器。下面顯示的所有命令對於大多數基於 RHEL 的系統都是相同的。

內容

  1. 碼頭工人請求
  2. 在 CentOS、AlmaLinux 和 Rocky Linux 上安裝 Docker
    1. 1.更新你的系統
    2. 2.添加Docker倉庫
    3. 3.安裝Docker
    4. 4.查看Docker版本
    5. 5. 測試 Docker
    6. 6.升級Docker
  3. 安裝 Docker-Compose
    1. 方法 1 – 使用二進製文件安裝 Docker Compose
    2. 方法 2 – 使用 PiP 安裝 Docker Compose
    3. 升級 Docker Compose
  4. 卸載 Docker 引擎
  5. 卸載 Docker Compose
  6. 結論是

碼頭工人請求

要安裝和配置 Docker,您的系統必須滿足以下最低要求:

  1. 64位 Linux 或 Windows 操作系統。
  2. 如果您使用的是 Linux,則內核版本為 3.10 就這樣。
  3. 用戶帳號 sudo 特權。
  4. VTs (虛擬化技術)支持在系統 BIOS 中啟用。 [Read: How To Find If A CPU Supports Virtualization Technology (VT)]
  5. 您的系統必須連接到 Internet。

要在 Linux 上查看內核和體系結構詳細信息,請從終端運行以下命令:

$ uname -a

示例輸出:

Linux Almalinux8CT 5.15.35-3-pve #1 SMP PVE 5.15.35-6 (Fri, 17 Jun 2022 13:42:35 +0200) x86_64 x86_64 x86_64 GNU/Linux

正如您在上面的輸出中看到的,我的 AlmaLinux 系統上的內核版本是 5.15.35-3-pve 我的系統架構是 64位 (x86_64 x86_64 x86_64 GNU/Linux).檢查上面結果中的粗體。

當心: 這裡我們使用的是 AlmaLinux 8 容器 proxmox這就是為什麼您在上面的輸出中的內核版本中看到“pve”一詞的原因。 如果您使用的是 AlmaLinux 物理(或虛擬)機器, 5.15.35-3-一般 作為內核版本。

嗯,內核版本高於最低要求,架構是64位。所以你可以毫無問題地安裝和使用Docker。

在 CentOS、AlmaLinux 和 Rocky Linux 上安裝 Docker

確保您運行的是更新的操作系統。

1.更新你的系統

按順序運行以下命令 sudo 用戶或 root 更新 CentOS/AlmaLinux/Rocky Linux 系統的用戶。

$ sudo dnf --refresh update
$ sudo dnf upgrade

2.添加Docker倉庫

安裝 百勝工具 提供的包 百勝配置管理器 用於設置存儲庫的實用程序。

$ sudo dnf install yum-utils

然後使用 yum-config-manger 添加 Docker 存儲庫,如下所示:

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

3.安裝Docker

使用以下命令在 CentOS、AlmaLinux 和 Rocky Linux 上安裝 Docker 引擎:

$ sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin

下載 Docker 包後,系統會提示您導入 Docker GPG 密鑰。確保您的指紋匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35如果是,請接受。

Importing GPG key 0x621E9F35:
 Userid     : "Docker Release (CE rpm) <[email protected]>"
 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
在 CentOS、AlmaLinux 和 Rocky Linux 上安裝 Docker

安裝 Docker 後,運行以下命令啟用並啟動 Docker 服務:

$ sudo systemctl enable docker
$ sudo systemctl start docker

使用以下命令檢查 Docker 服務是否正在運行:

$ sudo systemctl status docker

示例輸出:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Drop-In: /run/systemd/system/docker.service.d
           └─zzz-lxc-service.conf
   Active: active (running) since Tue 2022-06-28 08:17:02 UTC; 8s ago
     Docs: https://docs.docker.com
 Main PID: 2748 (dockerd)
    Tasks: 8
   Memory: 28.5M
   CGroup: /system.slice/docker.service
           └─2748 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.167563866Z" level=info msg="ClientConn switching balancer to "pick_first""
 module=grpc
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.169600819Z" level=error msg="Failed to built-in GetDriver graph btrfs /var/l
ib/docker"
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.203579593Z" level=info msg="Loading containers: start."
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.350067769Z" level=info msg="Default bridge (docker0) is assigned with an IP 
address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.410223534Z" level=info msg="Loading containers: done."
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.415653550Z" level=warning msg="Not using native diff for overlay2, this may 
cause degraded performance for building images: running in a user namespace" storage-driver=overlay2
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.415810806Z" level=info msg="Docker daemon" commit=a89b842 graphdriver(s)=ove
rlay2 version=20.10.17
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.415902359Z" level=info msg="Daemon has completed initialization"
Jun 28 08:17:02 Almalinux8CT systemd[1]: Started Docker Application Container Engine.
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.447662377Z" level=info msg="API listen on /var/run/docker.sock"

從上面的輸出可以看出,Docker 服務已啟動並正在運行。

4.查看Docker版本

您可以使用以下命令檢查已安裝的 Docker 版本:

$ sudo docker version

示例輸出:

Client: Docker Engine - Community
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:03:11 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:01:29 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.6
  GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc:
  Version:          1.1.2
  GitCommit:        v1.1.2-0-ga916309
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
在 AlmaLinux 中檢查 Docker 版本

5. 測試 Docker

現在讓我們測試 Docker 是否正常工作。 您可以通過運行 hello-world docker 映像來驗證 Docker 是否已正確安裝和工作。

為此,請運行:

$ sudo docker run hello-world

上面的命令將下載測試 Docker 鏡像並運行示例 你好世界 容器中的程序。

如果您看到類似於下面的輸出,恭喜您!Docker 在 CentOS/AlmaLinux/Rocky Linux 系統上運行良好。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete 
Digest: sha256:13e367d31ae85359f42d637adf6da428f76d75dc9afeb3c21faea0d976f5c651
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
在 AlmaLinux 上運行 Hello World Docker 容器在 AlmaLinux 上運行 Hello World Docker 容器

Docker 可以使用了。

我安裝了 Docker。查看本系列的下一篇文章,了解 Docker 的基礎知識。

  • 開始使用 Docker

6.升級Docker

由於您已經使用存儲庫安裝了 Docker,因此只需運行以下命令即可將 Docker 引擎升級到最新的可用版本:

$ sudo dnf --refresh update
$ sudo dnf upgrade

安裝 Docker-Compose

泊塢窗配置 可用於定義和運行多容器 Docker 應用程序的工具。 Compose 使用 Compose 文件來配置應用程序的服務。然後,您可以使用一個命令從您的配置中創建和啟動所有服務。

您可以使用以下方法之一安裝 Docker Compose:

方法 1 – 使用二進製文件安裝 Docker Compose

下載最新的 Docker Compose 從 這裡.

撰寫本文時的最新版本是 2.6.1.

通過運行以下命令下載最新的穩定 Docker 配置文件:

$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

如果有更新的版本可用,只需更換號碼 v2.6.1 在上面的命令中使用新版本號。別忘了前言 “V” 在版本號之前。

最後,使用以下命令對二進製文件應用執行權限:

$ sudo chmod +x /usr/local/bin/docker-compose

要檢查安裝的 docker composer 的版本,請運行:

$ docker-compose version
Docker Compose version v2.6.1

方法 2 – 使用 PiP 安裝 Docker Compose

或者,您可以使用 Docker Compose 安裝它。 畫中畫.pip 是一個 Python 包管理器,用於安裝以 Python 編程語言編寫的應用程序。

要在您的系統上安裝 Pip,請參閱下面的指南。

  • 如何使用 Pip 管理 Python 包

安裝 pip 後,通過運行以下命令安裝 docker compose:以下命令對於所有 Linux 發行版都是相同的。

$ pip install docker-compose

安裝 Docker Compose 後,您可以使用以下命令檢查版本:

$ docker-compose --version

您應該看到類似於以下內容的輸出:

docker-compose version 2.6.1, build 8a1c60f6

恭喜! 您已成功安裝 Docker Community Edition 和 Docker Compose。

閱讀 Docker Compose 入門指南,了解如何使用 Docker Compose 實時定義和管理容器。

  • 在 Linux 上開始使用 Docker Compose

升級 Docker Compose

要升級 Docker Compose,請下載新的包文件並重複方法 1 中所示的安裝步驟。 如果您使用 pip 安裝 Compose,則可以使用以下命令升級 Docker Compose:

$ pip install --upgrade docker-compose

卸載 Docker 引擎

要從 CentOS、AlmaLinux 和 Rock Linux 系統中刪除 Docker Engine,請運行以下命令:

$ sudo dnf remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

系統上的 Docker 映像、容器、卷或自定義配置文件不會自動刪除。

必須使用以下命令手動刪除所有映像、容器和卷:

$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd

卸載 Docker Compose

如果您使用二進製文件安裝 Compose,只需更改: /usr/local/bin/ 路。

$ sudo rm /usr/local/bin/docker-compose

如果您使用 PiP 安裝了 Compose,請運行以下命令以刪除 Docker Compose:

$ pip uninstall docker-compose

結論是

我知道如何在 CentOS、AlmaLinux 和 Rocky Linux 上安裝 Docker Engine 和 Docker Compose。您還學習瞭如何通過運行基本的 hello-world docker 鏡像來測試 Docker 引擎。最後,我們了解瞭如何刪除不再需要的 Docker Engine 和 Docker Compose。

推薦閱讀:

  • 如何自動更新正在運行的 Docker 容器
  • ctop – Linux 容器的命令行監控工具
  • Portainer – 管理 Docker 的最簡單方法
  • PiCluster – 簡單的基於 Web 的 Docker 管理應用程序
  • Dockly – 從終端管理 Docker 容器

資源:

  • 碼頭站點

免費的 Docker 電子書:

  • 免費電子書:“Docker 容器化指南”

AlmalinuxCentOS 容器DevOpsDocker 安裝 DockerLinuxLinux 管理Linux 容器OS 級虛擬化Rocky LinuxSysadmin 虛擬化