
- 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 - WordPress 設定
WordPress是一個著名的開源CMS,用於開發網站和部落格。在不同的環境中部署WordPress需要處理各種依賴項,例如Web伺服器、MySQL、PHP等等。使用Docker可以簡化此過程,它提供了一種標準化的方法來管理WordPress可以執行的環境。
Docker化WordPress的先決條件
在Docker化WordPress之前,請確保您擁有以下內容:
- Docker基礎知識 - 瞭解Dockerfile、容器和映象將使您更容易地瀏覽本指南。
- WordPress基礎 - 建議您瞭解MySQL資料庫的基礎知識,以便理解WordPress的通訊方式。
- 已安裝Docker - 確保Docker已安裝並在您的系統上執行。您可以直接從Docker官方網站安裝它。
- 文字編輯器 - 可用於編輯檔案的文字編輯器示例包括Notepad++、VSCode和Sublime Text。
- 命令列介面(CLI) - 您需要能夠輕鬆地使用命令列介面執行命令。
使用Dockerfile Docker化WordPress
讓我們使用官方的WordPress映象,它是生產就緒的。如有必要,您可以修改預設的WordPress映象進行自定義。
這是一個自定義WordPress檔案的簡單Dockerfile示例
FROM wordpress:latest # Copy custom themes or plugins if necessary COPY ./themes /var/www/html/wp-content/themes # Expose port 80 EXPOSE 80
它添加了自定義主題或外掛,併為WordPress服務公開了80埠。
建立WordPress Docker映象
建立自定義Dockerfile後,我們可以使用以下命令構建映象:
$ docker build -t custom-wordpress .
這將建立一個名為custom-wordpress的Docker映象。

執行WordPress Docker容器
建立Docker映象後,我們可以使用以下命令執行與該映象關聯的容器:
$ docker run -d -p 8000:80 --name my-wordpress custom-wordpress

您可以訪問https://:8000來訪問WordPress儀表盤。

在Docker Compose上執行WordPress
讓我們使用Docker Compose進行WordPress的多容器部署。
步驟1:建立一個專案目錄
為了保持一切井然有序,首先為您的WordPress專案建立一個目錄。所有Docker元件和配置檔案都將儲存在此處。
$ mkdir wordpress-docker $ cd wordpress-docker
步驟2:建立一個Docker Compose檔案
為了指定WordPress執行所需的各項服務,我們可以使用Docker Compose。讓我們在專案目錄中建立一個docker-compose.yml檔案。
$ touch docker-compose.yml
在您的文字編輯器中開啟此檔案,並新增以下配置:
version: "3.8" services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: rootpassword MYSQL_DATABASE: wordpress MYSQL_USER: wpuser MYSQL_PASSWORD: wppassword wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wpuser WORDPRESS_DB_PASSWORD: wppassword WORDPRESS_DB_NAME: wordpress volumes: - ./wp-content:/var/www/html/wp-content volumes: db_data:
此配置定義了兩項服務:
- WordPress - 主要WordPress程式在8000埠執行,並使用最新的映象。
- MySQL - WordPress的資料庫,包含預先配置的登入資訊。
步驟3:啟動Docker Compose服務
讓我們透過使用Docker Compose執行WordPress和MySQL來測試設定。在您的專案目錄中,執行以下命令來啟動WordPress和MySQL:
$ docker-compose up -d

步驟4:進入WordPress儀表盤
服務啟動並執行後,您可以開啟瀏覽器並訪問WordPress安裝。
https://:8000

現在應該可以看到WordPress安裝頁面,您可以繼續設定您的網站。
使用Docker設定HTTPS
您可以使用Let's Encrypt透過HTTPS保護您的WordPress網站,這是提供資料安全功能的標準程式。Let's Encrypt提供免費的SSL證書,並且使用Docker可以輕鬆地自動化此過程。
步驟1 - 將Nginx作為反向代理新增到docker-compose.yml檔案中。
步驟2 - 將Let's Encrypt工具Certbot放入Nginx容器中。
步驟3 - 修改nginx.conf檔案以新增SSL指令,以便為SSL配置Nginx。
步驟4 - 使用Certbot命令自動請求SSL證書
$ certbot --nginx -d yourdomain.com
步驟5 - 使用cron設定Let's Encrypt證書自動續訂。
使用Docker自動備份WordPress
WordPress需要備份,尤其是對於檔案和資料庫系統。可以使用Docker卷和cron作業來自動化此備份過程。
步驟1 - 建立一個備份指令碼檔案,該檔案使用mysqldump備份資料庫。
步驟2 - 在Dockerfile中安裝cron以自動執行備份指令碼。
步驟3 - 掛載儲存備份的卷,並在docker-compose.yml中新增備份服務。
步驟4 - 要定期執行備份,請使用此命令
$ crontab -e
步驟5 - 使用cron作業計劃備份時間表(例如:每週或每月)。
將Docker和WordPress與自定義域名一起使用
為了使WordPress Docker與自定義域名(例如www.abc.com)一起使用,必須正確設定DNS和域名配置。
步驟1 - 購買域名並將DNS設定配置為指向您的伺服器IP地址。
步驟2 - 為伺服器中使用的Nginx反向代理設定域名,在server_name指令中使用。
步驟3 - 配置wp-config.php檔案中的WordPress設定以啟用自定義域名。
define('WP_HOME', 'https://abc.com'); define('WP_SITEURL', 'https://abc.com');
步驟4 - 使用此命令重新啟動Docker服務:
$ docker-compose restart
步驟5 - 確保域名正確指向您的WordPress網站。
在Docker中為WordPress新增多個數據庫
某些複雜的WordPress設定可能需要多個數據庫,以提高系統的組織性或效能。使用Docker,您可以設定多個MySQL資料庫。
步驟1 - 要定義多個MySQL資料庫服務,請編輯docker-compose.yml檔案。
步驟2 - 為每個資料庫分配唯一的憑據,並掛載唯一的卷以確保資料的永續性。
步驟3 - 透過更新wp-config.php檔案來整合對多個數據庫設定的更改:
define('DB_HOST', 'db1'); define('DB_NAME', 'exampledb1');
步驟4 - 可以使用單獨的子域名或新的路徑訪問每個WordPress安裝。
結論
在本章中,我們討論瞭如何使用Docker和Docker Compose成功地容器化WordPress。此設定為WordPress應用程式在開發和生產伺服器上執行提供了一致的環境。它也易於擴充套件。
關於Docker化WordPress的常見問題
在本節中,我們收集了一組關於Docker化WordPress的常見問題及其答案。
1. 如何在Docker容器中設定WordPress網站?
您可以使用WordPress基礎映象在Docker容器中設定WordPress網站。這包括WordPress和所需的依賴項(例如,Apache、MySQL)。
您可以使用配置檔案在容器中配置WordPress。您必須在執行容器之前公開必要的埠。
2. 如何處理Docker容器中WordPress的資料永續性?
您可以使用捲來持久化WordPress資料。這包括資料庫資料、上傳檔案和其他站點內容。您可以將卷掛載到容器內的目錄,並配置WordPress以使用這些卷。請確保有適當的資料備份和恢復程式。
3. 如何在Docker容器中為WordPress配置HTTPS?
要為WordPress配置HTTPS,請獲取SSL/TLS證書並將其安裝在您的Web伺服器(例如,Apache)上。配置WordPress以使用該證書並將HTTP流量重定向到HTTPS。考慮使用Let's Encrypt之類的工具進行自動證書管理。