iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
AI & Data

「30 天打造 Discord AI 助手:結合本地 LLM 與 IoT 的智慧生活」系列 第 2

Day 2:在 Ubuntu 上安裝 Portainer,圖形化管理 Docker 容器

  • 分享至 

  • xImage
  •  

📌 背景與目標

昨天我們完成了環境規劃與基礎工具安裝,今天要邁出第一個關鍵步驟:安裝 Docker 與 Portainer

為什麼需要 Docker?

  • LLM 模型、Web UI、API 伺服器往往依賴不同套件與環境,直接安裝在主機上容易陷入「環境地獄」。
  • Docker 透過 容器化 隔離應用程式,讓安裝、升級、刪除都更乾淨俐落。

為什麼要搭配 Portainer?

  • Docker CLI 很強大,但需要記憶大量指令。
  • Portainer 提供 Web 圖形化介面,方便進行:
    • 容器啟動 / 停止
    • 查看日誌
    • 部署新服務
    • 系統資源監控

👉 簡單來說:Portainer 是 Docker 的「儀表板」,後續管理 Ollama、Open WebUI 容器會更輕鬆。


🛠️ 安裝流程

Step 1:安裝 Docker

# 更新套件
sudo apt update

# 安裝 Docker Engine 與 Compose
sudo apt install -y docker.io docker-compose

# 啟動 Docker 並設為開機自動執行
sudo systemctl start docker
sudo systemctl enable docker

# 確認安裝版本
docker --version
docker compose version

✅ 正確輸出範例:

Docker version 24.0.7, build afdd53b
Docker Compose version v2.21.0

常見錯誤排解

  • docker: command not found → 檢查 apt 更新是否正常。

  • permission denied while trying to connect to the Docker daemon socket → 使用者需加入 docker 群組:

    sudo usermod -aG docker $USER
    newgrp docker
    
    

Step 2:安裝 Portainer

1. 建立資料卷

sudo docker volume create portainer_data

2. 設定防火牆(建議只允許內網存取)

sudo ufw allow 9443/tcp   # Portainer
sudo ufw allow 11434/tcp  # Ollama(未來使用)
sudo ufw allow 8080/tcp   # Web UI

3. 啟動 Portainer 容器

sudo docker run -d \
  --name portainer \
  --restart=always \
  -p 9443:9443 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

🔑 參數說明:

  • p 9443:9443 → Portainer Web 介面
  • -restart=always → 系統重啟後自動啟動

4. 首次登入

  • 打開瀏覽器輸入 https://localhost:9443
  • 設定管理員帳號與密碼
  • 選擇 Local 管理環境
  • 開始使用 Web UI 管理容器

Step 3:測試功能

  • 查看容器列表:Portainer 會顯示自己 (portainer) 與系統容器。
  • 檢視日誌:點擊容器 → 選擇「Logs」,即可看到輸出資訊(例如 nginx log)。
    https://ithelp.ithome.com.tw/upload/images/20250915/20177622fvb2sQJ2Bp.png

上一篇
Day 1:鐵人賽啟程!打造本地 LLM + Web UI 系統的 30 天挑戰
下一篇
Day 3:Ollama 介紹 — 本地 LLM Server 架構解析與安裝實作
系列文
「30 天打造 Discord AI 助手:結合本地 LLM 與 IoT 的智慧生活」5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言