前幾天我們做了什麼 碼頭引擎 如何 在 Ubuntu 上安裝 Docker Engine 和 Docker Compose今天我將向您展示如何使用 Docker Compose 在基於 RHEL 的系統上安裝 Docker Engine,例如 AlmaLinux、CentOS 和 Rocky Linux。
本指南已在 CentOS 8、AlmaLinux 8 和 Rocky Linux 8 上進行了正式測試。出於演示目的,我們將使用在 Proxmox 上運行的 AlmaLinux 容器。下面顯示的所有命令對於大多數基於 RHEL 的系統都是相同的。
內容
碼頭工人要求
要安裝和配置 Docker,您的系統必須滿足以下最低要求:
- 64 位 Linux 或 Windows 操作系統。
- 如果您使用的是 Linux,則內核版本為 3.10 就這樣。
- 用戶帳號
sudo
特權。 - VT (虛擬化技術)支持在系統 BIOS 中啟用。 [Read: How To Find If A CPU Supports Virtualization Technology (VT)]
- 您的系統必須連接到 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 容器 近視這就是您在上面的輸出中看到內核版本中“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
安裝 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
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/

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 引擎和 docker compose。
推薦閱讀:
- 如何自動更新正在運行的 Docker 容器
- ctop – Linux 容器的命令行監控工具
- Portainer – 管理 Docker 的最簡單方法
- PiCluster – 簡單的基於 Web 的 Docker 管理應用程序
- Dockly – 從終端管理 Docker 容器
資源:
- 碼頭工人網站
免費 Docker 電子書:
- 免費電子書:《Docker Containerization Cookbook》
AlmalinuxCentOS ContainersDevOpsDockerInstalling DockerLinuxLinux AdministrationLinux ContainersOS Level VirtualizationRocky LinuxSysadmin Virtualization