
- 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 - 設定 Flame
Flame 是一個自託管的伺服器起始頁和儀表盤。受 SUI 啟發,Flame 旨在為您提供一個管理和組織伺服器應用程式、服務或連結的中心位置。此外,Flame 具有身份驗證機制,可以保護您的書籤、程式和設定。它經常用作家庭實驗室、個人伺服器和雲環境中的自定義應用程式中心。
在本章中,我們將討論將 Flame docker 化的步驟。使用 Docker 設定 Flame 將允許您在容器中執行 Flame,而無需手動配置它並修改不同環境的設定。
Docker 化 Flame 的先決條件
在開始本指南之前,請確保您具備以下先決條件:
- Docker 應用程式 - 確保您在本地機器上安裝了 Docker。您可以從 Docker 官方網站 下載它。如果您具備 Docker 的基本知識,將更有幫助。
- Docker Compose - 如果你想透過 Docker Compose 使用 Docker 設定 Flame,請確保你的機器上安裝了 Docker Compose。您可以從 這裡 下載它。
- 命令列介面 (CLI) - 對命令列介面 (CLI) 及其命令的基本瞭解將有助於您更好地理解本指南。
- 文字編輯器 - 編寫配置檔案需要一個文字編輯器,例如 VSCode 或 Sublime Text。
設定 Flame 專案
擁有 Docker 映象對於執行您的容器是必要的,因為它包含所有指令和資訊,例如構成您的應用程式的服務、環境變數、資料庫等。
您可以建立一個自定義 Flame 專案,它將充當您的容器的 Docker 映象,或者您可以提取預構建的 Docker 映象。建立自定義映象可以讓您更好地控制環境。
在本節中,我們將解釋如何建立自定義 Flame 專案。
步驟 1:建立專案目錄
建立一個專案目錄,用於儲存與 Flame 相關的所有檔案。
# Create a folder named flame-docker $ mkdir flame-docker # Navigate into the directory $ cd flame-docker

步驟 2:建立一個基本的 Dockerfile
接下來,建立一個稍後將填充的 Dockerfile。此 Dockerfile 將包含生成 Docker 映象所需的所有指令。

在文字編輯器中開啟 Dockerfile 並向其中新增以下內容:
# Base image for Flame FROM pawelmalak/flame:latest # Expose the default Flame port EXPOSE 5005
基礎映象設定為 pawelmalak/flame,公開的埠為 5005。
步驟 3:構建自定義 Docker 映象
建立 Dockerfile 後,就可以建立自定義 Docker 映象了,它將包含執行容器的所有指令。
# Build the Docker image with the tag "my-flame" $ docker build -t my-flame .

步驟 4:執行 Flame 容器
$ docker run -d --name flame -p 5005:5005 my-flame

步驟 5:使用卷持久化資料
Flame 將其配置和資料(例如書籤和設定)儲存在本地 JSON 檔案中。但是,此資料不是持久的,因為一旦您刪除容器,您將丟失所有資料。為避免這種情況,您可以使用 Docker 卷。
Docker 卷允許您永久儲存資料,即使您刪除了容器。
$ docker run -d --name flame -p 5005:5005 -v ./flame-data:/app/data my-flame

步驟 6:訪問 Flame 儀表盤
現在我們的 Flame 容器正在執行,您可以在瀏覽器中訪問 localhost:5005 來訪問 Flame 儀表盤。

使用預構建的 Docker 映象
如果您不想建立自定義 Docker 映象,您可以簡單地使用 Flame 的預構建官方 Docker 映象來在 Docker 中安裝 Flame。
步驟 1:拉取 Flame 映象
在執行 Flame 容器之前,您需要拉取 Flame 的 Docker 映象。
$ docker pull pawelmalak/flame

步驟 2:執行 Flame 容器
拉取 Docker 映象後,就可以執行 Flame 容器了。
$ docker run -d --name flame -p 5005:5005 pawelmalak/flame

其中,
- -d = 表示分離模式,這意味著此程序將在後臺執行。
- --name flame = 表示容器的名稱。
- -p 5005:5005 = 將本地機器上的 5005 埠對映到 Flame 容器中的 5005 埠。這允許您透過在瀏覽器中訪問 https://:5005 來訪問 Flame 的儀表盤。
- pawelmalak/flame = 用於建立容器的 Docker 映象的名稱。
使用 Docker Compose 設定 Flame
在本節中,我們將逐步解釋如何使用 Docker Compose 設定 Flame:
步驟 1:建立一個 docker-compose.yml 檔案
在您的 flame 目錄中建立一個 docker-compose.yml 檔案。
$ touch docker-compose.yml

您的檔案結構現在應該如下所示:
flame-docker/ └── docker-compose.yml └── Dockerfile └── flame-data
步驟 2:填充 .yml 檔案
在文字編輯器中開啟您的 docker-compose.yml 檔案,並向其中新增以下配置:
version: '3' services: flame: image: pawelmalak/flame:latest container_name: flame restart: unless-stopped ports: - 5005:5005 volumes: - ./flame-data:/app/data
這裡,
- services - 指定構成此應用程式的服務
- image - 指定使用的 Docker 映象,在本例中為 'pawalmalak/flame'
- container_name - 設定 Flame 容器的名稱
- restart - 確保容器自動重啟,除非手動停止
- ports - 將本地機器上的 5005 埠對映到容器
- volumes - 卷用於永久儲存資料。
步驟 3:執行 Docker Compose
使用以下命令執行 docker-compose.yml 檔案。
$ docker-compose up -d

身份驗證設定
Flame 具有整合的身份驗證機制,允許您限制可以訪問儀表盤的使用者。您可以將管理員憑據儲存在 .env 檔案中,並在您的 docker-compose.yml 檔案中引用它,以實現更安全的設定。
步驟 1:建立一個 docker-compose.yml 檔案
在您的 Flame 目錄中建立一個 .env 檔案。
# Create a .env file $ touch .env

開啟 .env 檔案,並在其中新增以下環境變數
FLAME_ADMIN_USERNAME=admin FLAME_ADMIN_PASSWORD=securepassword
步驟 2:更新 docker-compose.yml
更新您的 docker-compose.yml 檔案,並新增您的 .env 檔案的路徑。
version: '3' services: flame: image: pawelmalak/flame:latest container_name: flame restart: unless-stopped ports: - 5005:5005 volumes: - ./flame-data:/app/data env_file: - .env
步驟 3:執行 docker-compose.yml 檔案
$ docker-compose up -d

您的更新後的檔案結構現在應該如下所示:
flame-docker/ ├── Dockerfile ├── docker-compose.yml ├── .env └── flame-data/ # Data volume for persistent storage
結論
您的 Flame 容器已成功 docker 化。您已建立了一個 Docker 映象並在您的 Docker 容器內執行它,確保在不同環境中的前後一致性。這種方法更安全,因為在 Docker 容器中執行 Flame 可以將其與其他服務隔離。如果您的容器崩潰,它根本不會影響您的系統。一致性、可移植性、管理、網路和可擴充套件性是這種方法的其他一些好處。
在 Docker 中設定 Flame 的常見問題
我們在這裡收集了一組關於如何 docker 化 Flame 容器的常見問題及其答案
1. 如果 Flame 容器終止或刪除,我的資料會發生什麼?
如果容器終止或停止,使用 Docker 卷(例如 ./flame-data:/app/data)儲存在永續性儲存上的資料不會丟失。書籤、配置檔案和設定等資料將儲存在主機上的 flame-data 目錄中。
即使您刪除了容器,Flame 也能夠訪問您的當前資料,因為您可以隨時使用相同的卷重新建立它。
2. 我可以將 Flame 與外部資料庫(如 PostgreSQL)一起使用嗎?
不可以,Flame 不需要也不支援像 MySQL 或 PostgreSQL 這樣的第三方資料庫。Flame 的設計輕量級,並將配置和書籤儲存在本地檔案中。這些檔案儲存在 flame-data 目錄中,Docker 配置已將其安裝為卷。
Flame 預設情況下不依賴資料庫;如果您需要類似資料庫的功能,則需要自定義它或使用其他服務。
3. 如何防止對我的 Flame 例項進行意外訪問?
Flame 具有整合的身份驗證機制,允許您限制可以訪問儀表盤的使用者。您可以明確地在 docker-compose.yml 檔案或 .env 檔案中設定管理員憑據以保護 Flame。
透過在 HTTPS 啟用的反向代理後面保護 Flame 並建立防火牆規則以限制對 Flame 埠的訪問,您可以進一步增強安全性。