wordpress
WordPress 是一个免费的开源博客工具,也是一个基于PHP和MySQL的内容管理系统(CMS),它运行在一个 web 托管服务上。功能包括插件架构和模板系统。截至2013年8月,前1000万个网站中有超过22.0%使用 WordPress。WordPress 是网络上最流行的博客系统,在超过6000万个网站上使用。最常用的语言是英语、西班牙语和印尼语。
wiki: https://en.wikipedia.org/wiki/WordPress
安装前,完成数据库配置
start by host
参考:https://developer.wordpress.org/advanced-administration/before-install/howto-install
start by container
sh
$ sudo docker pull docker.m.daoclou.io/wordpress:6.5
# change tag
$ sudo docker tag docker.m.daoclou.io/wordpress:6.5 wordpress:6.5
# create configuration file
$ mkdir -p ~/var/lib/wordpress
$ sudo docker container create --name wordpress wordpress:6.5
$ sudo docker cp wordpress:/var/www/html:~/var/lib/html
$ sudo docker rm wordpress -f
# modify database connection
vim ~/var/lib/wordpress/wp-config.php
# image to container
$ sudo docker run -d --restart=always --name wordpress -v ~/var/lib/html:/var/www/html -p 9001:80 wordpress:6.5
wp_config.php
sh
# modify database connection
# define( 'DB_NAME', 'wp' );
# define( 'DB_USER', 'wp' );
# define( 'DB_PASSWORD', '123456' );
# define( 'DB_HOST', '192.168.0.5:3306' );
https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
Dockerfile
www.tar.gz
sh
$ mkdir ~/var/lib/wordpress
$ cd ~/var/lib/wordpress
# get wordpress package
# https://wordpress.org/download/releases/
$ wget https://wordpress.org/wordpress-6.6.1.tar.gz
$ tar -zxvf wordpress-6.6.1.tar.gz
$ mv wordpress www
# create wordpress config
$ cp www/wp-config-sample.php www/wp-config.php
$ mkdir www/http.d
# nginx http.d *.conf
$ vim www/http.d/wordpress.conf
# get php81.d.tar
$ tar -xvf php81.d.tar -C www
$ tar -zcvf www.tar.gz
wordpress.conf
nginx
upstream php-fpm {
server unix:/run/php-fpm81/www.sock;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
root /www;
index index.php;
try_files $uri $uri/ $uri.php$is_args$args;
location ~ \.php$ {
fastcgi_pass php-fpm;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
php81.d
![][file/php81.d.tar]
Dockerfile
FROM alpine:3.17
LABEL authors="ue" mail=sinuto@163.com
WORKDIR /www
ADD www.tar.gz /
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories\
&& apk update
RUN apk add php81 php81-cli php81-fpm php81-json php81-mysqli php81-mysqlnd php81-pdo\
&& rm -rf /etc/php81\
&& ln -s /www/php81.d /etc/php81\
&& mkdir /run/php-fpm81
RUN apk add nginx\
&& rm -rf /etc/nginx/http.d\
&& ln -s /www/http.d /etc/nginx/http.d
EXPOSE 80
#CMD php-fpm81 && nginx && while true; do echo hello world; sleep 1; done
CMD chown -R nginx:nginx /www && php-fpm81 && nginx && tail -f /var/log/nginx/access.log /var/log/nginx/error.log
database
sql
mysql> CREATE DATABASE wp;
mysql> CREATE USER wp;
mysql> ALTER USER 'wp'@'%' IDENTIFIED WITH 'mysql_native_password' BY '123456';
mysql> GRANT INSERT,DELETE,UPDATE,SELECT,CREATE ON wp.* TO 'wp'@'%';
mysql> FLUSH PRIVILEGES;
mysql> SHOW GRANT FOR 'wp'@'%';