WordPress標(biāo)準(zhǔn)軟件基于Bitnami wordpress 構(gòu)建。當(dāng)前版本為6.4.3
你可以通過輕云UC部署工具直接安裝部署捞慌,也可以手動按如下文檔操作耀鸦,該項目已經(jīng)全面開源,可以從如下環(huán)境獲取
配置文件地址: https://gitee.com/qingplus/qingcloud-platform
什么是 WordPress?
WordPress 是世界上最受歡迎的博客和內(nèi)容管理平臺啸澡。功能強(qiáng)大但簡單袖订,從學(xué)生到跨國公司,每個人都可以使用它來構(gòu)建美觀嗅虏、實用的網(wǎng)站洛姑。
快速執(zhí)行
docker run --name wordpress bitnami/wordpress:latest
使用該 image
WordPress 需要訪問 MySQL 或 MariaDB 數(shù)據(jù)庫來存儲信息。
使用 Docker 命令行
Step 1: 創(chuàng)建網(wǎng)絡(luò)
docker network create wordpress-network
Step 2: 創(chuàng)建MariaDB持久化卷并創(chuàng)建MariaDB容器
$ docker volume create --name mariadb_data
docker run -d --name mariadb \
--env ALLOW_EMPTY_PASSWORD=yes \
--env MARIADB_USER=bn_wordpress \
--env MARIADB_PASSWORD=bitnami \
--env MARIADB_DATABASE=bitnami_wordpress \
--network wordpress-network \
--volume mariadb_data:/bitnami/mariadb \
bitnami/mariadb:latest
Step 3: 為 WordPress 持久性創(chuàng)建卷并啟動容器
$ docker volume create --name wordpress_data
docker run -d --name wordpress \
-p 8080:8080 -p 8443:8443 \
--env ALLOW_EMPTY_PASSWORD=yes \
--env WORDPRESS_DATABASE_USER=bn_wordpress \
--env WORDPRESS_DATABASE_PASSWORD=bitnami \
--env WORDPRESS_DATABASE_NAME=bitnami_wordpress \
--network wordpress-network \
--volume wordpress_data:/bitnami/wordpress \
bitnami/wordpress:latest
訪問 : http://your-ip/
使用 Docker Compose 運(yùn)行應(yīng)用程序
docker-compose up -d
持久化
如果刪除容器皮服,所有數(shù)據(jù)都將丟失楞艾,并且下次運(yùn)行映像時,數(shù)據(jù)庫將重新初始化龄广。為了避免這種數(shù)據(jù)丟失硫眯,您應(yīng)該安裝一個即使在容器被刪除后仍然存在的卷。
為了持久化择同,您應(yīng)該在路徑上安裝一個目錄/bitnami/wordpress两入。如果掛載的目錄為空,則首次運(yùn)行時會對其進(jìn)行初始化敲才。此外裹纳,您應(yīng)該安裝一個卷來持久保存 MariaDB 數(shù)據(jù)择葡。
mariadb_data上面的示例定義了名為和 的Docker 卷wordpress_data。只要不刪除卷痊夭,WordPress 應(yīng)用程序狀態(tài)就會持續(xù)存在刁岸。
為了避免無意中刪除卷,您可以將主機(jī)目錄掛載為數(shù)據(jù)卷她我『缡铮或者,您可以使用卷插件來托管卷數(shù)據(jù)番舆。
使用 Docker Compose 將主機(jī)目錄掛載為數(shù)據(jù)卷
mariadb:
...
volumes:
- - 'mariadb_data:/bitnami/mariadb'
+ - /path/to/mariadb-persistence:/bitnami/mariadb
...
wordpress:
...
volumes:
- - 'wordpress_data:/bitnami/wordpress'
+ - /path/to/wordpress-persistence:/bitnami/wordpress
...
-volumes:
- mariadb_data:
- driver: local
- wordpress_data:
- driver: local
注意: 由于這是一個非根容器酝碳,因此安裝的文件和目錄必須具有 UID 的適當(dāng)權(quán)限1001。
使用 Docker 命令行將主機(jī)目錄掛載為數(shù)據(jù)卷
Step 1: 創(chuàng)建網(wǎng)絡(luò)(如果不存在)
docker network create wordpress-network
Step 2. 創(chuàng)建具有主機(jī)卷的 MariaDB 容器
docker run -d --name mariadb \
--env ALLOW_EMPTY_PASSWORD=yes \
--env MARIADB_USER=bn_wordpress \
--env MARIADB_PASSWORD=bitnami \
--env MARIADB_DATABASE=bitnami_wordpress \
--network wordpress-network \
--volume /path/to/mariadb-persistence:/bitnami/mariadb \
bitnami/mariadb:latest
NOTE: 由于這是一個非根容器恨狈,因此安裝的文件和目錄必須具有 UID 的適當(dāng)權(quán)限1001疏哗。
Step 3. 使用主機(jī)卷創(chuàng)建 WordPress 容器
docker run -d --name wordpress \
-p 8080:8080 -p 8443:8443 \
--env ALLOW_EMPTY_PASSWORD=yes \
--env WORDPRESS_DATABASE_USER=bn_wordpress \
--env WORDPRESS_DATABASE_PASSWORD=bitnami \
--env WORDPRESS_DATABASE_NAME=bitnami_wordpress \
--network wordpress-network \
--volume /path/to/wordpress-persistence:/bitnami/wordpress \
bitnami/wordpress:latest
NOTE: 由于這是一個非根容器,因此安裝的文件和目錄必須具有 UID 的適當(dāng)權(quán)限1001禾怠。
配置
環(huán)境變量
可定制的環(huán)境變量
Name | Description | Default Value |
---|---|---|
WORDPRESS_DATA_TO_PERSIST |
相對于 WordPress 安裝目錄保留的文件非春。要提供多個值迹恐,請用空格分隔它們。 | wp-config.php wp-content |
WORDPRESS_ENABLE_HTTPS |
是否默認(rèn)為 WordPress 啟用 HTTPS。 | no |
WORDPRESS_BLOG_NAME |
WordPress blog 名稱. | "User's blog" |
WORDPRESS_SCHEME |
生成應(yīng)用程序 URL 的方案长赞。已棄用WORDPRESS_ENABLE_HTTPS姆另。 | http |
WORDPRESS_HTACCESS_OVERRIDE_NONE |
將 ApacheAllowOverride變量設(shè)置為None. 所有默認(rèn)指令都將從/opt/bitnami/wordpress/wordpress-htaccess.conf. | yes |
WORDPRESS_ENABLE_HTACCESS_PERSISTENCE |
保留 htaccess 的自定義更改忙芒。是否堅持就看值WORDPRESS_HTACCESS_OVERRIDE_NONE凰棉。/opt/bitnami/wordpress/wordpress-htaccess.confno/opt/bitnami/wordpress/.htaccess | no |
WORDPRESS_RESET_DATA_PERMISSIONS |
初始化時強(qiáng)制重置持久數(shù)據(jù)的所有權(quán)/權(quán)限,否則假設(shè)所有權(quán)/權(quán)限正確往产。以非 root 身份運(yùn)行時被忽略被碗。 | no |
WORDPRESS_TABLE_PREFIX |
在 WordPress 中使用的表前綴。 | wp_ |
WORDPRESS_PLUGINS |
要安裝和激活的 WordPress 插件列表仿村,以逗號分隔锐朴。還可以設(shè)置為all激活所有當(dāng)前安裝的插件,或none跳過蔼囊。 | none |
WORDPRESS_SKIP_BOOTSTRAP |
是否對應(yīng)用程序執(zhí)行初始引導(dǎo)焚志。 | no |
WORDPRESS_AUTO_UPDATE_LEVEL |
允許安裝 WordPress 核心的自動更新級別。有效值:major压真、minor娩嚼、none。 | none |
WORDPRESS_ENABLE_REVERSE_PROXY |
啟用 WordPress 對反向代理標(biāo)頭的支持 | no |
WORDPRESS_ENABLE_XML_RPC |
啟用 WordPress XML-RPC 端點 | no |
WORDPRESS_USERNAME |
WordPress user name. | user |
WORDPRESS_PASSWORD |
WordPress user password. | bitnami |
WORDPRESS_EMAIL |
WordPress user e-mail address. | user@example.com |
WORDPRESS_FIRST_NAME |
WordPress user first name. | UserName |
WORDPRESS_LAST_NAME |
WordPress user last name. | LastName |
WORDPRESS_ENABLE_MULTISITE |
啟用 WordPress 多站點配置滴肿。 | no |
WORDPRESS_MULTISITE_NETWORK_TYPE |
要啟用的 WordPress 多站點網(wǎng)絡(luò)類型岳悟。有效值:subfolder、subdirectory、subdomain贵少。 | subdomain |
WORDPRESS_MULTISITE_EXTERNAL_HTTP_PORT_NUMBER |
WordPress 多站點的外部 HTTP 端口呵俏。 | 80 |
WORDPRESS_MULTISITE_EXTERNAL_HTTPS_PORT_NUMBER |
WordPress 多站點的外部 HTTPS 端口。 | 443 |
WORDPRESS_MULTISITE_ENABLE_NIP_IO_REDIRECTION |
啟用 WordPress 多站點時是否啟用 IP 地址重定向到 nip.io 通配符 DNS滔灶。僅當(dāng)在具有子域網(wǎng)絡(luò)類型的 IP 地址上運(yùn)行時才支持此功能普碎。 | no |
WORDPRESS_MULTISITE_FILEUPLOAD_MAXK |
WordPress 多站點上傳允許的最大上傳文件大小(以千字節(jié)為單位)录平。 | 81920 |
WORDPRESS_DATABASE_HOST |
Database server host. | $WORDPRESS_DEFAULT_DATABASE_HOST |
WORDPRESS_DATABASE_PORT_NUMBER |
Database server port. | 3306 |
WORDPRESS_DATABASE_NAME |
Database name. | bitnami_wordpress |
WORDPRESS_DATABASE_USER |
Database user name. | bn_wordpress |
WORDPRESS_DATABASE_PASSWORD |
Database password | bn_wordpress |
WORDPRESS_ENABLE_DATABASE_SSL |
是否為數(shù)據(jù)庫連接啟用SSL麻车。 | no |
WORDPRESS_VERIFY_DATABASE_SSL |
當(dāng)數(shù)據(jù)庫連接啟用SSL時是否驗證數(shù)據(jù)庫SSL證書。 | yes |
WORDPRESS_OVERRIDE_DATABASE_SETTINGS |
覆蓋持久性中的數(shù)據(jù)庫設(shè)置斗这。 | no |
WORDPRESS_SMTP_HOST |
smtp host动猬。 | smpt.126.com |
WORDPRESS_SMTP_PORT |
smtp port。 | 587 |
WORDPRESS_SMTP_USER |
smtp user表箭。 | qingcloud |
WORDPRESS_SMTP_PASSWORD |
smtp password赁咙。 | qingcloud1234 |
只讀環(huán)境變量
Name | Description | Value |
---|---|---|
WORDPRESS_BASE_DIR |
WordPress 安裝目錄。 | ${BITNAMI_ROOT_DIR}/wordpress |
WORDPRESS_CONF_FILE |
配置文件免钻。 | ${WORDPRESS_BASE_DIR}/wp-config.php |
WP_CLI_BASE_DIR |
WP-CLI 安裝目錄 | ${BITNAMI_ROOT_DIR}/wp-cli |
WP_CLI_BIN_DIR |
二進(jìn)制文件 | ${WP_CLI_BASE_DIR}/bin |
WP_CLI_CONF_DIR |
配置文件目錄 | ${WP_CLI_BASE_DIR}/conf |
WP_CLI_CONF_FILE |
配置文件 | ${WP_CLI_CONF_DIR}/wp-cli.yml |
WORDPRESS_VOLUME_DIR |
用于掛載配置文件的 WordPress 目錄彼水。 | ${BITNAMI_VOLUME_DIR}/wordpress |
WORDPRESS_DEFAULT_DATABASE_HOST |
默認(rèn) database server host. | mariadb |
WORDPRESS_DEFAULT_DATABASE_HOST |
默認(rèn) database server host. | 127.0.0.1 |
PHP_DEFAULT_MEMORY_LIMIT |
默認(rèn) PHP memory limit. | 512M |
PHP_DEFAULT_POST_MAX_SIZE |
默認(rèn) PHP post_max_size. | 80M |
PHP_DEFAULT_UPLOAD_MAX_FILESIZE |
默認(rèn) PHP upload_max_size. | 80M |
WP_CLI_DAEMON_USER |
WP-CLI system user. | daemon |
WP_CLI_DAEMON_GROUP |
WP-CLI system group. | daemon |
當(dāng)您啟動 WordPress 映像時,您可以通過在 docker-compose 文件或命令行上傳遞一個或多個環(huán)境變量來調(diào)整實例的配置docker run极舔。請注意凤覆,某些變量僅在容器首次啟動時才被考慮。如果要添加新的環(huán)境變量:
-
對于 docker-compose
wordpress: ... environment: - WORDPRESS_PASSWORD=my_password ...
-
對于手動執(zhí)行姆怪,--env為每個變量和值添加一個選項:
$ docker run -d --name wordpress -p 80:8080 -p 443:8443 \ --env WORDPRESS_PASSWORD=my_password \ --network wordpress-tier \ --volume /path/to/wordpress-persistence:/bitnami \ bitnami/wordpress:latest
例子
SMTP 配置
-
修改docker-compose.yml
wordpress: ... environment: - WORDPRESS_DATABASE_USER=bn_wordpress - WORDPRESS_DATABASE_NAME=bitnami_wordpress - ALLOW_EMPTY_PASSWORD=yes - WORDPRESS_SMTP_HOST=smtp.gmail.com - WORDPRESS_SMTP_PORT=587 - WORDPRESS_SMTP_USER=your_email@gmail.com - WORDPRESS_SMTP_PASSWORD=your_password ...
-
對于手動執(zhí)行:
$ docker run -d --name wordpress -p 80:8080 -p 443:8443 \ --env WORDPRESS_DATABASE_USER=bn_wordpress \ --env WORDPRESS_DATABASE_NAME=bitnami_wordpress \ --env WORDPRESS_SMTP_HOST=smtp.gmail.com \ --env WORDPRESS_SMTP_PORT=587 \ --env WORDPRESS_SMTP_USER=your_email@gmail.com \ --env WORDPRESS_SMTP_PASSWORD=your_password \ --network wordpress-tier \ --volume /path/to/wordpress-persistence:/bitnami \ bitnami/wordpress:latest
將 WordPress 容器連接到現(xiàn)有數(shù)據(jù)庫
WordPress 容器支持將 WordPress 應(yīng)用程序連接到外部數(shù)據(jù)庫叛赚。這是為 WordPress 使用外部數(shù)據(jù)庫的示例澡绩。
-
修改docker-compose.yml
wordpress: ... environment: - - WORDPRESS_DATABASE_HOST=mariadb + - WORDPRESS_DATABASE_HOST=mariadb_host - WORDPRESS_DATABASE_PORT_NUMBER=3306 - WORDPRESS_DATABASE_NAME=wordpress_db - WORDPRESS_DATABASE_USER=wordpress_user - - ALLOW_EMPTY_PASSWORD=yes + - WORDPRESS_DATABASE_PASSWORD=wordpress_password ...
-
對于手動執(zhí)行:
$ docker run -d --name wordpress\ -p 8080:8080 -p 8443:8443 \ --network wordpress-network \ --env WORDPRESS_DATABASE_HOST=mariadb_host \ --env WORDPRESS_DATABASE_PORT_NUMBER=3306 \ --env WORDPRESS_DATABASE_NAME=wordpress_db \ --env WORDPRESS_DATABASE_USER=wordpress_user \ --env WORDPRESS_DATABASE_PASSWORD=wordpress_password \ --volume wordpress_data:/bitnami/wordpress \ bitnami/wordpress:latest
如果數(shù)據(jù)庫已包含以前 WordPress 安裝的數(shù)據(jù)稽揭,您需要將變量設(shè)置WORDPRESS_SKIP_BOOTSTRAP為yes. 否則,容器將執(zhí)行安裝向?qū)Р⒖梢孕薷臄?shù)據(jù)庫中的現(xiàn)有數(shù)據(jù)肥卡。請注意溪掀,當(dāng)設(shè)置WORDPRESS_SKIP_BOOTSTRAP為時yes,環(huán)境變量(例如WORDPRESS_USERNAME步鉴、WORDPRESS_PASSWORD或 )的值WORDPRESS_EMAIL將被忽略揪胃。確保在此導(dǎo)入的數(shù)據(jù)庫中,表前綴與 中設(shè)置的表前綴匹配WORDPRESS_TABLE_PREFIX氛琢。
WP-CLI 工具
WordPress 容器包含命令行界面wp-cli喊递,可以幫助您管理 WP 站點并與之交互。要運(yùn)行此工具阳似,請注意您需要使用正確的系統(tǒng)用戶daemon骚勘。
這是使用wp-cli顯示幫助菜單的示例:
- 使用docker-compose命令:
docker-compose exec wordpress wp help
- 使用docker命令:
docker exec wordpress wp help
日志
WordPress Docker 映像將容器日志發(fā)送到stdout. 要查看日志:
docker logs wordpress
使用docker-compose命令:
docker-compose logs wordpress