想像一個可以容納所有文件並保持其完整性的盒子。這就是 Docker 所做的,它提供了一種簡單的方法來管理託管在本地或云中的應用程序的容器。
這個工具更好的地方在於它是免費的(是的,真的)和開源的,所以每個人都可以從使用它中受益,而不僅僅是那些像大公司一樣付費的人。你可以得到它。
Docker 允許您在容器中發布應用程序並保護您的環境,因此所有這些討厭的更新都不會破壞它。一切都是獨立的,因此您可以訪問較小的服務器並減少帶寬。
一段時間以來,Docker 團隊一直在努力開發這個工具。他們設法想出了一個非常好的和有用的產品。 任何使用過或使用過 Linux 一段時間的人都會明白這有多棒。最後,它成為了一種實用的 IT 工具。
Docker 已經被 WordPress、Spotify 和 Reddit 等大公司使用。很高興看到社區使用對我們所有人都有益的東西。
本文將向您展示如何通過命令行在 Rocky Linux 系統上安裝 Docker CE。此外,這些程序也可用於 REHL 和 CentOS 8。
先決條件
安裝需要 sudo 權限。
第 1 步:更新您的 Rocky Linux 8 系統
像往常一樣,您應該在安裝任何新內容之前更新/升級您的系統。此更新還可以防止可能由過時的依賴項引起的錯誤。
sudo dnf -y update
如果有任何與內核相關的更新,您將需要重新啟動系統。
sudo reboot now
第 2 步:添加 Docker 存儲庫
AlamLinux 8 有一個命令允許您添加官方 Docker CE 存儲庫,使 Docker 安裝更容易。
首先安裝 yum-utils 實用程序
sudo dnf -y install yum-utils
然後使用以下命令添加 Docker 存儲庫:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
第 3 步:安裝 Docker CE
現在存儲庫已添加到您的系統中,您可以安裝 Docker CE。
更新新添加的存儲庫並安裝 docker-ce 包。
sudo dnf -y update
sudo dnf -y install docker-ce docker-ce-cli containerd.io
上面的命令安裝了 Docker,但即使重新啟動我的計算機,我也無法啟動它。為此,請使用以下命令在計算機啟動時自動啟動 Docker 服務。
sudo systemctl enable --now docker
重新啟動系統後,當 Linux 服務器啟動時,您將看到 Docker 正在運行。
要檢查 docker 服務是否正在運行,您可以使用 systemctl 命令,如下所示:
sudo systemctl status docker
它將返回如下內容:
按 q 退出並返回命令提示符。
如果 Docker 服務未運行,請使用 start 子命令啟動它。
sudo systemctl start docker
第 4 步:添加新用戶
安裝後,如果您使用 Docker,則需要以 root 身份運行它。要解決此問題,請授予用戶對 Docker 組的訪問權限。現在您可以以普通用戶身份運行容器。
為此,您需要將普通用戶添加到“docker”組。這是通過命令 usermod 完成的。在本例中,我們使用 usermod 命令添加 vitux 用戶,如下所示:
sudo usermod -aG docker vitux
如果您想將另一個用戶添加到 docker 組,請將“vitux”替換為該用戶名。然後註銷並重新登錄以啟用 docker 組成員身份。
向 docker 組添加了一個新用戶。您可以使用以下命令進行檢查:
sudo id vitux
第 5 步:使用 Docker 命令
目前有 13 個管理命令和 41 個常規命令可供您使用,還有一些實用命令。
大多數這些命令的語法與其他 Linux 發行版相同。
一個 docker 命令由一組函數、選項和參數組成。
名冊 [option] [command] [arguments]
要查看所有可用的選項和命令,請輸入:
名冊
有關係統範圍的 Docker 詳細信息,請使用以下命令:
docker info
第 6 步:在 Rocky Linux 8 上測試 Docker
為了測試 Docker,我們執行了一個非常簡單的任務。 拉出 hello-world 圖像。此圖像非常受歡迎,並為您提供了 docker 圖像的想法。這很容易做到。只需輸入:
docker run hello-world
此命令在您的計算機中搜索 hello-world 映像。如果未找到,該命令將從 Docker Hub 拉取 hello-world 映像並自動運行它。之後,您應該會看到來自 Docker 的 Hello!屏幕上的消息。此消息確認安裝正在運行。
第 7 步:使用 Docker 映像
容器是映像的可執行版本。 默認情況下,Docker 從 Docker Hub 中提取這些圖像,Docker Hub 是由創建 Docker 的組織管理的存儲庫。任何人都可以在這個網站上發布他們的作品圖片。與使用仿真運行主機操作系統(Windows 或 Linux 的副本)的虛擬機不同,容器完全在主機上的單個操作系統中運行。
您可以使用 Docker Hub 的搜索功能來查找圖像。要查找圖像,請運行以下命令:
docker search imagename
在這種情況下,請查找 Ubuntu 映像。
docker search ubuntu
Docker Hub 服務器上有許多可用的鏡像,如下所示。
如果這個詞 好的 出現在 正式的 此列表示該映像是由項目背後的業務創建和支持的。找到要使用的映像後,可以使用 pull 子命令為您的項目下載映像。此示例使用 Ubuntu 操作系統映像。
docker pull ubuntu
它返回類似於以下內容的輸出:
要在服務器上顯示圖像,請鍵入:
docker images
它返回類似於以下內容的輸出:
您可以修改圖像並使用它來創建新圖像。這是使用容器的一種非常有效的方式,因為您不必每次需要時都下載整個圖像。
您可以更改鏡像,更改某些內容,添加一些代碼,將其保存為新鏡像,將其上傳到 Docker Hub 或任何其他 Docker 註冊表,並與您的朋友或其他需要此新鏡像的人分享。非常容易分享和其他人。
第 8 步:運行 Docker 容器
上一步中的 hello-world 容器是一個正在運行的容器示例,它從 Docker 發出 Hello 並停止它。但是容器不會只做一件事就停下來。
您甚至可以運行一個容器來偵聽端口並繼續執行您希望它執行的操作。要嘗試這一點,請使用 Ubuntu 映像運行容器。
docker run -it ubuntu
-i 和 -t 選項一起告訴 docker 創建一個容器並提供一個交互式控制台。這聽起來很複雜,但事實並非如此。
第一次啟動容器時,需要附加啟動容器的進程,這樣bash才能看到打開哪個tty。-t選項告訴docker。容器啟動後,-i選項表示獲取一個像這樣的交互式控制台:
現在您可以在容器內鍵入任何命令。假設您要更新容器內的包列表。您無需在每個命令之前鍵入 sudo,因為您負責以容器的 root 用戶身份運行命令。
apt update
容器本身就是微服務,有自己的局限性。在容器內所做的更改僅適用於該特定容器。
要退出容器外殼,請在提示符處鍵入“exit”並鍵入 進來 鑰匙。
結論是
在本教程中,您學習瞭如何使用 Docker 執行一些基本操作。 我知道如何在 Docker Hub 上搜索圖像。如果您的計算機上還沒有圖像,請下拉。
我知道如何運行容器,如何在該容器中發出命令。我發現容器對於隔離正在運行的進程非常有用。
本教程非常簡單,因為 Docker 隱藏了很多複雜性。在本教程結束時,您應該能夠運行交互式容器,並充分了解幕後發生的事情,並嘗試運行包含您的應用程序的容器。