IRONSOFTWAREHOME

在Linux上安裝Docker和Portainer

Installing Docker and Portainer on Linux

Tim Corey

~18m

並非所有事情都應該直接安裝在您的操作系統上。 像 SQL Server 這樣的工具需要大量資源,不論您是否需要它們,裸機運行時這些資源都會被消耗。 容器解決了這個問題:當您需要時啟動一個,當不需要時停止它。 Docker 是驅動這一工作流程的引擎,而 Portainer 則是輕量級的 GUI,可讓您在不需要記住大量 CLI 命令的情況下輕鬆管理。

這個根據 Tim Corey's Linux 開發 系列編寫的分解詳細說明了在 Ubuntu 上的完整設定:註冊 apt 軟體庫,啟動引擎,從個人電腦中移除 sudo 要求,以及部署 Portainer CE 作為持久容器。

步驟 1:新增 Docker 的 apt 軟體庫

[3:10 - 6:00] 在可以通過 apt 安裝 Docker 之前,您需要註冊 Docker 的包來源並使您的系統有理由相信它。 Docker 提供了一個可複製的命令塊,一次粘貼即可完成所有這些操作。 前往 docs.docker.com,進入安裝部分,然後選擇 Ubuntu。 在 "使用 apt 軟體庫安裝" 部分下的命令就是您需要的。

該命令塊按順序執行多個操作:它安裝所需的證書工具,下載 Docker 的官方 GPG 密鑰,調整其存取權限,並將軟體庫地址寫入您的 apt 來源清單。從文件中複製並在終端中通過 Ctrl+Shift+V 粘貼來一次運行整個命令塊。

一個重要的點需要強調:不要盲目新增新的包來源。 在安裝其證書之前,確認您信任該來源。 Docker 是值得信賴的,但這一原則適用於您新增的每個來源。 這種方法實際上比許多包管理器預設做法更為嚴格,這是一種特性,而不是一種複雜性。

步驟 2:安裝 Docker 引擎

[6:00 - 7:10] 註冊完軟體庫後,安裝 Docker 只需一個 apt 命令即可:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
SHELL

在提示時確認,apt 會處理下載和安裝。 Docker 配置為在引導時自動啟動,因此每次重啟後它會在後台運行,不需額外的步驟。

要確認一切正常,運行 hello-world 容器:

sudo docker run hello-world
SHELL

Docker 會拉取鏡像,執行它,並列印出確認資訊。 該輸出意味著您的安裝運行正常。 hello-world 容器設計為運行一次後退出; 它純粹存在於驗證引擎是否響應。

步驟 3:在不使用 sudo 的情況下運行 Docker(僅限個人電腦)

[7:45 - 10:30] 預設情況下,Docker 命令需要使用 sudo,因為管理容器是一個特權操作。 在共享伺服器或生產機器上,保留這種設置。 對於您單獨控制的個人開發機,將自己加入 docker 群組可以去掉前綴:

sudo usermod -aG docker $USER
SHELL

-aG 則將當前帳戶附加到該群組。 大小寫很重要:$USER 必須大寫。 變更不會立即生效,直到您登出並重新登入; 整個系統重啟通常比簡單的登出更可靠,以便群組成員資格正確應用。 一旦更改生效,docker run hello-world 可以在不需使用 sudo 的情況下工作。

這是一種方便的折衷,而不是一種安全改進。 僅對開發機保留這一設置。

步驟 4:為 Portainer 建立一個卷

[11:30 - 12:45] 在啟動 Portainer 前,建立一個命名卷以在容器重啟和替換時持續其資料:

docker volume create portainer_data
SHELL

容器本質上是短暫的,破壞一個將抹去其內部儲存的任何內容。 卷存在於容器生命週期之外,由 Docker 管理,因此即使摧毀並重建 Portainer,配置也能保存。

步驟 5:運行 Portainer 容器

[12:45 - 14:10] Portainer CE is itself a Docker container. 完整運行命令是:

docker run -d -p 9000:9000 --name portainer \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce
SHELL

分解來看:-d 以分離模式運行容器,使其保持在後台。 而 -p 9000:9000 則公開主機端口 9000 並將其路由到容器內的匹配內部地址。 第一個 -v 掛載 Docker 套接字,讓 Portainer 能夠查看和控制您其他的容器和鏡像。 這種連接套接字的方式是 GUI 能夠讀取和管理您整個 Docker 環境的原因。 第二個 -v 將您剛建立的卷連接到容器內的 /data,以持久化其狀態。

portainer/portainer-ce 中抽取 (Community Edition)。 portainer.io 網站以付費的 Enterprise 級別為首,但 CE 對於本地和個人使用者是免費且完全有能力的。

導航 Portainer UI

[14:10 - 17:30] 容器啟動後,打開瀏覽器並轉到 http://localhost:9000。 Portainer 在首次存取時要求您建立管理員密碼; 密碼至少需 12 個字元。 登錄後,通過快速設置嚮導時無需新增額外的環境,然後從儀表板中選擇本地環境。

主視圖顯示摘要:下載的鏡像、存在的容器、已配置的網路和使用中的卷。 點擊進入每個部分為您提供完整的控制。 在鏡像下,您會看到 hello-world 和 Portainer CE 鏡像,這兩次執行時的拉取執行。在容器中,兩次 hello-world 執行顯示在停止狀態下,Portainer 本身處於活動運行中。

從容器面板中您可以啟動、停止或刪除任何條目。 選擇一個容器並點擊日誌會顯示其輸出。 hello-world 條目顯示它被執行的兩次所顯示的熟悉的問候語文字。 重啟容器並檢查其日誌可以確認新的輸出追加在第一個輸出之下。

卷按照其掛載路徑顯示列表。 而 portainer_data 條目顯示其位置在 /var/lib/docker/volumes/ 下,所有命名卷資料由引擎儲存在磁碟上。

為何選擇 Portainer 而非 Docker Desktop

[17:30 - 18:10] Docker Desktop 附帶 GUI,但佔用大量資源,這對於 Linux 開發機來說很重要,因為您希望系統資源可用於實際工作負載。 Portainer CE 本身作為一個容器運行,消耗的記憶體和 CPU 要少得多。 它涵蓋了實際需求:瀏覽鏡像和容器,閱讀日誌,管理卷,啟動和停止服務,全部在不增加負擔的情況下。

接下來是什麼

[17:50 - 18:30] 使用 Docker 和 Portainer 後,該系列的下一步是在容器中運行 SQL Server。 一個簡單的 docker run 命令拉取鏡像並啟動一個實例。 從 Portainer 的容器面板中,您可以在會話結束時停止它,並在需要時重新啟動它。 這個模式同樣適用於 Redis 和其他運行成本高但易於容器化的基礎架構工具。

結論

[18:30 - end] 總結一下:使用其 GPG 密鑰註冊 Docker 的 apt 軟體庫,通過 apt 安装引擎,選擇性地將使用者新增到個人電腦上的 docker 羣組,為 Portainer 建立一個命名卷,並運行映射到端口 9000 的 portainer/portainer-ce 容器。從那時起,localhost:9000 給您一個 GUI,您可以通過 GUI 管理 Linux 上的容器而不涉及目常任務的 CLI。

觀看 Tim Corey 的 YouTube 完整影片以實時機運行安裝在 頻道上。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立