Docker部署wordpress

配置环境

环境需要docker

采用docker compose命令部署

安装docker

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

Wordpress

安装与启动

创建文件夹并进入

mkdir wordpress
cd wordpress

在当前文件夹下创建docker-compose.yml文件,内容:

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - ./wordpress_data/wordpress:/var/www/html
      - ./wordpress_data/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - ./wordpress_data/db:/var/lib/mysql

#volumes:
#  wordpress:
#  db:

继续创建文件夹wordpress_data,并在里面创建一个uploads.ini文件,内容:

file_uploads = On
memory_limit = 500M
upload_max_filesize = 30M
post_max_size = 30M
max_execution_time = 600

创建这个文件的原因是wordpress容器里初始php.ini默认允许上传的文件大小为2M,在后续使用wordpress上传文件时可能遇到上传的文件尺寸超过php.ini中定义的upload_max_filesize值的错误。

做完上述步骤后,wordpress文件夹的目录结构如下:

.
├── docker-compose.yml
└── wordpress_data
    └── uploads.ini

1 directory, 2 files

使用docker-compose命令启动即可

docker compose up -d

构建完毕后当前目录如下:

.
├── docker-compose.yml
└── wordpress_data
    ├── db
    ├── uploads.ini
    └── wordpress

3 directories, 2 files

更新

docker compose pull
docker compose up -d

卸载

docker compose down

停止

docker compose stop

重启

docker compose restart