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