
- Docker 教程
- Docker - 首頁
- Docker - 概述
- Docker - 在 Linux 上安裝
- Docker - 安裝
- Docker - Hub
- Docker - 映象
- Docker - 容器
- Docker - 倉庫
- Docker - Compose
- Docker - 使用容器
- Docker - 架構
- Docker - 層
- Docker - 容器 & 主機
- Docker - 配置
- Docker - 容器 & Shell
- Docker - Dockerfile
- Docker - 構建檔案
- Docker - 公共倉庫
- Docker - 管理埠
- Docker - Web 伺服器
- Docker - 命令
- Docker - 容器連結
- Docker - 資料儲存
- Docker - 卷
- Docker - 網路
- Docker - 安全
- Docker - 工具箱
- Docker - 雲
- Docker - 構建雲
- Docker - 日誌
- Docker - 持續整合
- Docker - Kubernetes 架構
- Docker - Kubernetes 的工作原理
- Docker - 生成式 AI
- Docker - 託管
- Docker - 最佳實踐
- Docker 設定服務
- Docker - 設定 Node.js
- Docker - 設定 MongoDB
- Docker - 設定 NGINX
- Docker - 設定 ASP.Net
- Docker - 設定 MySQL
- Docker - 設定 Go
- Docker - 設定 Rust
- Docker - 設定 Apache
- Docker - 設定 MariaDB
- Docker - 設定 Jupyter
- Docker - 配置 Portainer
- Docker - 設定 Rstudio
- Docker - 設定 Plex
- Docker 設定 - Flame
- Docker 設定 - PostgreSql
- Docker 設定 - Mosquitto
- Docker 設定 - Grafana
- Docker 設定 - Nextcloud
- Docker 設定 - Pawns
- Docker 設定 - Ubuntu
- Docker 設定 - RabbitMQ
- Docker - 設定 Python
- Docker - 設定 Java
- Docker - 設定 Redis
- Docker - 設定 Alpine
- Docker - 設定 BusyBox
- Docker 設定 - Traefik
- Docker 設定 - WordPress
- Docker 有用資源
- Docker - 快速指南
- Docker - 有用資源
- Docker - 討論
Docker - 配置 Portainer
Portainer 是一款輕量級的管理 UI,可以輕鬆管理 Docker 環境。它提供了一個直觀的介面,使用者可以透過它輕鬆部署、管理和除錯容器化應用程式。使用 Portainer,您可以監控 Docker 設定,並從集中位置管理容器、映象、卷和網路。
使用 Docker 執行 Portainer 不僅簡化了設定,而且確保它受益於 Docker 的可移植性、可擴充套件性和易用性。透過將 Portainer 放入 Docker 容器中,您可以為自己建立一個獨立的環境,該環境易於部署和維護,非常適合管理您的 Docker 基礎設施。
Docker 化 Portainer 的先決條件
在 Docker 化 Portainer 之前,請確保已滿足以下先決條件:
- 安裝 Docker - 確保您的系統中已安裝 Docker。您可以從Docker 官方網站下載並安裝 Docker。
- Docker 基礎知識 - 瞭解 Docker 的基本概念,例如映象、容器和 Dockerfile 的概述。
- 訪問終端 - 您必須開啟一個命令列終端來執行 Docker 命令。
- 網際網路連線 - 在本文中,我們將使用 Docker Hub 上提供的 Portainer 官方映象。需要網際網路連線,以便 Docker 可以拉取此映象。
- Docker Hub 帳戶 - 對於希望將自定義映象推送到登錄檔的使用者,另一個推薦的資源是 Docker Hub 帳戶。
在完成所有這些先決條件後,您現在就可以開始設定您的 Portainer 專案並在此處將其 Docker 化。
設定 Portainer 專案
讓我們建立一個基本專案結構。此設定將幫助我們組織檔案和配置,並且可以更輕鬆地管理和版本控制 Portainer 部署。
步驟 1:建立專案目錄
讓我們為我們的 Portainer 專案建立一個專用目錄。此目錄將包含所有必要的檔案,例如 Dockerfile 和任何其他配置檔案。
$ mkdir portainer-project $ cd portainer-project
步驟 2:初始化版本控制和 Docker
接下來,您可以在專案目錄和 Docker 檔案中初始化一個 Git 儲存庫。
$ git init $ docker init

步驟 3:建立配置檔案
根據您的需要,您還可以建立一個配置檔案來自定義 Portainer 部署。例如,您可以新增環境變數或指定一個卷用於持久資料儲存。
建立 config.yml 檔案(如果需要) -
$ touch config.yml
目前,您可以將其保留為空或根據需要新增配置。
現在我們已經設定了專案目錄,讓我們概述 Portainer 專案所需的結構和依賴項。
portainer-project/ │ ├── Dockerfile ├── config.yml # Optional: Configuration file for Portainer └── README.md # Optional: Documentation for your project
在本地執行 Portainer
在使用自定義 Dockerfile 將 Portainer Docker 化之前,讓我們首先使用 Docker 在本地執行 Portainer。這將確保 Portainer 正確執行,併為以後建立 Dockerfile 提供良好的基線。
步驟 1:從 Docker Hub 拉取 Portainer 映象
我們將首先從 Docker Hub 拉取官方 Portainer 映象。此映象已包含執行 Portainer 所需的一切。
$ docker pull portainer/portainer-ce

此映象是 Portainer 的社群版,它是免費的,並且包含管理 Docker 環境的所有功能。
步驟 2:將 Portainer 作為 Docker 容器執行
現在,我們可以使用我們拉取的映象來執行 Portainer 容器。以下命令在埠 9000 上執行 Portainer,這是 Portainer Web 介面的預設埠。
$ docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

命令分解
- -d - 以分離模式(在後臺)執行容器。
- -p 9000:9000 - 將主機上的埠 9000 對映到容器中的埠 9000。
- --name=portainer - 將容器命名為 portainer。
- --restart=always - 確保 Portainer 容器在停止或系統重新啟動時自動重新啟動。
- -v /var/run/docker.sock:/var/run/docker.sock - 掛載 Docker 套接字以允許 Portainer 與主機上的 Docker 守護程式通訊。
- -v portainer_data:/data - 建立一個名為 portainer_data 的 Docker 卷以持久化 Portainer 的資料,例如設定和配置。
步驟 3:訪問 Portainer Web 介面
您現在可以透過開啟 Web 瀏覽器並導航到以下位置來訪問 Portainer Web 介面:https://:9000。

系統會提示您建立管理員使用者並設定初始 Portainer 環境。您可以按照螢幕上的說明完成設定。
步驟 4:驗證 Portainer 設定
您可以透過登入 Web 介面來檢查 Portainer 是否正確執行。您應該會看到 Portainer 儀表板。您可以選擇您的環境,例如本地環境,並且您將能夠看到本地機器中的所有映象和容器。

在本地執行並驗證 Portainer 後,我們準備建立一個 Dockerfile 來 Docker 化我們的自定義 Portainer 設定。
建立 Dockerfile 和構建映象
讓我們現在建立 Dockerfile。在您的 portainer-project 目錄中,建立一個名為 Dockerfile 的檔案 -
$ touch Dockerfile
步驟 1. 定義 Dockerfile 內容
在文字編輯器中開啟 Dockerfile 並新增以下內容 -
# Use the official Portainer community edition image as the base image FROM portainer/portainer-ce:latest # Set environment variables (if any) ENV PORTAINER_ADMIN_PASSWORD='yourpassword' # Expose the Portainer port EXPOSE 9000 # Define the default command to run Portainer CMD ["portainer"]
Dockerfile 分解
- FROM portainer/portainer-ce:latest - 它指定我們使用最新的官方 Portainer 社群版映象作為我們自定義 Dockerfile 的基礎映象。
- ENV PORTAINER_ADMIN_PASSWORD='yourpassword' - (可選)它設定 Portainer 管理員密碼的環境變數。
- EXPOSE 9000 - 此行公開埠 9000,Portainer 的 Web 介面使用此埠。
- CMD ["portainer"] - 這是執行 Portainer 的預設命令。
步驟 2:構建 Docker 映象
使用此 Dockerfile,我們可以使用以下命令構建您的自定義 Portainer 映象 -
$ docker build -t my-portainer-image .
-t my-portainer-image - 將構建的映象標記為 my-portainer-image。
.: 指定當前目錄作為構建上下文。

步驟 3:驗證映象構建
我們可以透過列出所有 Docker 映象來驗證我們的自定義映象是否已成功建立 -
$ docker images
您應該在可用映象中看到 my-portainer-image。

執行 Portainer Docker 容器
現在我們已經準備好了 Docker 映象,我們可以使用自定義 Portainer 映象執行 Docker 容器。
步驟 1:執行 Portainer 容器
我們可以使用以下命令從您的自定義 Portainer 映象啟動容器 -
$ docker run -d -p 9000:9000 --name=portainer-container --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data my-portainer-image

命令分解
- -d - 以分離模式(在後臺)執行容器。
- -p 9000:9000 - 將主機上的埠 9000 對映到容器中的埠 9000。這允許您透過 https://:9000 訪問 Portainer Web 介面。
- --name=portainer-container - 為容器分配一個名稱,以便在 Docker 命令中更容易引用。
- --restart=always - 配置 Docker 在容器停止或主機系統重新啟動時自動重新啟動容器。
- -v /var/run/docker.sock:/var/run/docker.sock - 將 Docker 套接字掛載到容器中,以便 Portainer 可以與主機上的 Docker 守護程式通訊。
- -v portainer_data:/data - 建立並掛載一個名為 portainer_data 的 Docker 卷以持久化 Portainer 的資料,例如配置和設定。
- my-portainer-image - 指定您之前構建的自定義 Docker 映象的名稱。
步驟 2:訪問 Portainer Web 介面
由於容器正在執行,我們可以開啟 Web 瀏覽器並導航到:https://:9000。
我們應該會看到 Portainer 登入螢幕。我們可以使用在初始設定期間設定的管理員憑據登入。
結論
在本節中,我們講解了如何透過建立專案、瞭解專案所需的依賴項、建立 Dockerfile 以及執行 Portainer 容器來將 Portainer 容器化。
我們建立了一個可移植且易於維護的環境,透過該環境,我們將能夠以更高的效率管理我們的 Docker 環境。它還確保我們的設定可複製且一致,這有助於輕鬆維護容器。
您可以進一步自定義 Portainer,將其與您的 CI/CD 管道整合,或使用它管理複雜的 Docker 環境。
Portainer 容器化的常見問題
關於 Portainer 容器化,有一些非常常見的問題 (FAQ),本節嘗試簡要回答它們。
1. 如何在 Docker 容器中設定 Portainer?
要在 Docker 容器中設定 Portainer,請使用官方 Portainer 映象建立一個 Dockerfile。使用環境變數或容器內的配置檔案在該 Docker 容器內配置 Portainer 的設定。公開所需的埠並啟動容器。考慮對映一個捲來持久化 Portainer 的資料和配置。
2. 使用 Portainer 與 Docker 有什麼好處?
Portainer 是一種透過基於 Web 的介面管理 Docker 的簡單方法,因為它提供了一個直觀的介面,可以加深使用者體驗並與構成 Docker 生態系統的多數實體(例如容器、映象和網路等)進行互動。這使得建立和管理容器、部署應用程式以及資源使用變得更加容易。
3. 如何保護 Portainer 訪問許可權?
透過在 Portainer 介面中設定身份驗證和授權來鎖定對 Portainer 的訪問。您可以提供基於密碼的身份驗證,或使用與外部身份驗證提供程式的多種整合之一。此外,請考慮根據 IP 地址或其他條件限制對 Portainer 的訪問。