
- 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 - 設定 Pawns
Pawns.app 或 Pawns 是一個平臺,允許使用者透過共享其頻寬或完成調查來賺錢。公司使用使用者透過其 IP 地址共享的頻寬來執行其服務,使用者可以透過參與涵蓋各種主題的調查來賺取更多錢。
在本章中,我們將深入探討如何將 Pawns 容器化。將 Pawns 應用程式容器化將允許我們將其在隔離的環境中執行,以在不同的環境中實現一致性,而無需手動更改系統配置。
將 Pawns 容器化的先決條件
在開始本指南之前,請確保您具備以下先決條件:
- Docker 應用程式 - 驗證 Docker 是否已在您的計算機上本地安裝。它可以在 Docker 的官方網站上下載。如果您對 Docker 有所瞭解,那也將有所幫助。
- Docker Compose - 要透過 Docker Compose 使用 Docker 設定 Pawns,請確保您的計算機上已配置 Docker Compose。
- 介面命令列 (CLI) - 如果您對命令列介面 (CLI) 及其命令有基本的瞭解,您將能夠更好地理解本文。
- 文字編輯器 - 編寫配置檔案需要使用文字編輯器,例如 VSCode 或 Sublime Text。
設定 Pawns 專案
要啟動您的容器,您需要一個 Docker 映象,因為它包含所有指令和資料,例如環境變數、資料庫和構成您的應用程式的服務。
您有兩個選擇 - 提取預構建的 Docker 映象或建立一個自定義 Pawns 專案,該專案將作為容器的 Docker 映象。
建立自定義映象時,您可以更好地控制環境。在本節中,我們將討論建立自定義 Pawns 專案。
步驟 1:建立專案目錄
建立一個專案目錄,其中將儲存與 Pawns.app 相關的所有檔案。
# Create a folder for the Pawns project $ mkdir pawns-docker # Navigate into the directory $ cd pawns-docker

步驟 2:建立一個基本的 Dockerfile
導航到 pawns-docker 目錄並在其中建立一個 dockerfile,稍後將對其進行填充。
# Create a Dockerfile $ touch Dockerfile
在任何文字編輯器中開啟 dockerfile 並向其中新增以下說明。每個說明都將建立一個單獨的 Docker 映象層。
# Use an appropriate base image FROM iproyal/pawns-cli:latest # Set a working directory WORKDIR /usr/src/app # Copy the application code (if needed) COPY . . # Install any dependencies (if required) # RUN npm install # Uncomment if Node.js is involved # Expose the default port EXPOSE 8080 # Define environment variables (optional, modify as needed) ENV NODE_ENV=production # Specify the default command to run CMD ["npm", "start"]
基本映象設定為 pawns/app,公開的埠為 8080。

步驟 3:構建自定義 Docker 映象
建立 docker 檔案後,建立一個 Docker 映象,該映象將儲存執行容器的說明。
$ docker build -t pawns-app .

步驟 4:執行 Pawns 容器
讓我們使用剛剛建立的映象執行 Pawns 容器。
$ docker run -d --name pawns -p 8080:8080 pawns-app

步驟 5:使用卷持久化資料
Pawns 容器中的資料是臨時儲存的,即它只會持續到您擁有容器的時間。您可以使用 Docker 卷永久儲存資料,以便即使在刪除 Pawns 容器後也不會丟失。
即使您決定刪除容器,您也可以透過 Docker 卷永遠儲存資料。
$ docker run -d --name pawns -p 8080:8080 -v ./pawns-data:/app/data pawns-app

使用預構建的 Docker 映象
要使用 Docker 安裝 Pawns,您可以使用已構建的官方 Docker 映象,從而避免了建立自己的映象的麻煩。
步驟 1:提取 Pawns 映象
在執行容器之前,先提取 Pawns 的 Docker 映象。
$ docker pull iproyal/pawns-cli:latest

步驟 2:執行 Pawns 容器
提取 Docker 映象後,就可以執行 Pawns 容器了。
$ docker run -d --name pawns -p 8080:8080 iproyal/pawns-cli:latest
其中,
- -d - 表示分離模式,這意味著此程序將在後臺執行
- --name pawns - 表示容器的名稱
- -p 8080:8080 - 將您本地機器上的埠 8080 對映到 Pawns 容器中的埠 8080。這允許您透過在瀏覽器中訪問https://:8080來訪問 Pawns 的儀表板。
- pawns/app - 用於建立容器的 docker 映象的名稱

使用 Docker Compose 設定 Pawns
讓我們使用官方 Docker 映象使用 Docker compose 建立 Docker 容器。
步驟 1:建立一個 docker-compose.yml 檔案
在您的 pawns 目錄中建立一個 docker-compose.yml 檔案。
$ touch docker-compose.yml
您的目錄結構現在應該如下所示:
pawns-docker/ └── docker-compose.yml └── Dockerfile └── pawns-data/

步驟 2:填充 .yml 檔案
在文字編輯器中開啟您的 docker-compose.yml 檔案,並向其中新增以下配置:
version: '3.8' services: pawns: image: iproyal/pawns-cli:latest container_name: pawns restart: unless-stopped ports: - "8080:8080" volumes: - ./pawns-data:/app/data environment: - APP_ENV=production - APP_PORT=8080 - DATABASE_URL=sqlite:///app/data/pawns.db - LOG_LEVEL=info networks: - pawns-network logging: driver: "json-file" options: max-size: "10m" max-file: "3" healthcheck: test: ["CMD-SHELL", "curl -f https://:8080/ || exit 1"] interval: 30s retries: 3 start_period: 30s timeout: 10s networks: pawns-network: driver: bridge volumes: pawns-data: driver: local
步驟 3:執行 Docker Compose
$ docker-compose up -d

結論
在本章中,我們已成功將 Pawns 容器化。我們建立了一個 Docker 容器並運行了 Pawns 例項,使服務在不同的環境中保持一致,並與其他應用程式隔離。Docker 卷確保即使您的容器崩潰或被刪除,您的持久化資料也是安全的。
在 Docker 中執行 Pawns 更易於維護和部署,並且您可以使用 Docker Compose 自動化和加快設定過程。
關於將 Pawns 容器化的常見問題
在本節中,我們收集了一組關於將 Pawns 容器化的常見問題及其簡短答案。
1. 如果我的 Pawns 容器被刪除,我的資料也會被刪除嗎?
儲存在 Pawns 容器內部的資料將被視為臨時資料,因此一旦您刪除容器,這些資料就會丟失。但是,儲存在 Docker 卷中的資料將是永久性的,即使在刪除容器後也可以訪問。
在 docker-compose.yml 配置中,在主機上建立了一個名為“./pawns-data:/app/data”的部分,用於儲存配置檔案和日誌。這確保了資料的安全,並允許透過使用相同卷建立新的容器來恢復資料。
2. 我可以將 Pawns 與 MySQL 或 PostgreSQL 等外部資料庫一起使用嗎?
PostgreSQL、MySQL 和 MongoDB 是 Pawns 不支援的第三方資料庫的示例。該平臺的配置、日誌和其他資料作為其輕量級設計的一部分儲存在本地檔案中。
通常,這些檔案儲存在掛載的卷(./pawns-data:/app/data)中。可以使用 Docker 卷保留此資料,但是,Pawns 不旨在與外部資料庫進行互動以進行資料管理或儲存。如果您的應用程式需要,您可能需要整合額外的服務來處理更高階的資料處理。
3. 我可以保護我的 Pawns 例項免受意外訪問嗎?
您可以遵循正確的網路安全協議來保護 Pawns。要限制對 Pawns 公開埠的訪問,請使用防火牆規則。例如,您可以設定防火牆,以便只有特定 IP 地址或子網才能訪問埠 8080。
要透過 SSL/TLS 加密保護 Pawns 例項,請使用反向代理,例如 Nginx 或 Traefik。這確保了在您的使用者和 Pawns 服務之間交換的任何資料的加密。透過使用 VPN 隱藏 Pawns,您可以進一步限制訪問。另外,Pawns 例項只能由具有 VPN 訪問許可權的使用者訪問。