DC的便笺 · 2023年12月3日 0

【便笺】Docker快速部署WordPress

这学期有个大作业是要做个demo网站,就用WP套模板搞了。至于WP部署就用Docker来了,挺适合快速部署一个临时用的小环境的。

1.安装Docker

就按照官网的教程来了: https://docs.docker.com/engine/install/ubuntu/

2.编写Docker Compose配置

需要说明一下:这个demo网站是运行在我的树莓派上的,且为了调试方便我还安装了phpMyAdmin;但phpMyAdmin没有提供官方的ARM镜像,所以采用了第三方镜像;至于WP和MariaDB就直接用官方镜像了,还是比较方便的。

# docker-compose.yml
version: '3'
services:
  mariadb:
    image: mariadb:latest
    container_name: mariadb_wp_demo
    environment:
      MYSQL_ROOT_PASSWORD: <root_password>
      MYSQL_DATABASE: wordpress
      MYSQL_USER: <wordpress_user>
      MYSQL_PASSWORD: <wordpress_password>
    volumes:
      - /home/rpi/wp-demo/mariadb:/var/lib/mysql
    networks:
      - wp_demo_network

  wordpress:
    image: wordpress:latest
    container_name: wordpress_demo
    environment:
      WORDPRESS_DB_HOST: mariadb:3306
      WORDPRESS_DB_USER: <wordpress_user>
      WORDPRESS_DB_PASSWORD: <wordpress_password>
    volumes:
      - /home/rpi/wp-demo/wp:/var/www/html
    ports:
      - "<wp_port>:80"
    networks:
      - wp_demo_network

  phpmyadmin:
    image: lscr.io/linuxserver/phpmyadmin:latest
    container_name: phpmyadmin_demo
    environment:
      PMA_ARBITRARY: 1
      PMA_HOST: mariadb
      PMA_PORT: 3306
    ports:
      - "<phpmyadmin_port>:80"
    networks:
      - wp_demo_network

networks:
  wp_demo_network:

其中WP和phpMyAdmin对外打开端口提供访问,MariaDB则对外不可见;三个容器接入同一个网络使得相互可访问。

3.运行

sudo docker compose up -d

之后有空再来记录一下怎么迁移已经部署好的WP,感觉如果Docker部署和迁移已经足够方便,也犯不着自己再动手写一个“方便随时迁移”的博客系统了。