docker部署wodpress

docker部署

Stacks>wordpress

services:
  wordpress:
    image: wordpress:6.6.1-php8.2
    container_name: wordpress
    restart: unless-stopped
    ports:
      - "8000:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress_user
      WORDPRESS_DB_PASSWORD: wordpress_password
      WORDPRESS_DB_NAME: wordpress_db
    volumes:
       - /home/ubt/docker/wp/html:/var/www/html # 挂载宿主机目录到容器内部


  db:
    image: mysql:latest
    container_name: mysql
    restart: unless-stopped
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: wordpress_db
      MYSQL_USER: wordpress_user
      MYSQL_PASSWORD: wordpress_password
    volumes:
      - db_data:/var/lib/mysql

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      PMA_HOST: db
      PMA_USER: wordpress_user
      PMA_PASSWORD: wordpress_password
    depends_on:
      - db     

volumes:
  wordpress_data:
  db_data:

编辑自定义配置文件:

sudo nano php.ini

#文件内容

; 文件上传相关配置
file_uploads = On
upload_max_filesize = 2048M
post_max_size = 2048M
max_file_uploads = 50
; 性能相关配置
memory_limit = 1024M
max_execution_time = 300

拷贝自定义配置文件到容器:

ubt@ubt:~/docker/wp$ sudo docker cp php.ini wordpress:/usr/local/etc/php/php.ini

重启容器生效!

使用’All-in-One WP Migration’插件迁移数据!需要php.ini设置2048M的上传限制!

更换域名,需要更新数据库

例如:

UPDATE wp_options SET option_value = REPLACE(option_value, '192.168.100.225', '2068.online') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET post_content = REPLACE(post_content, '192.168.100.225' , '2068.online'); UPDATE wp_posts SET guid = REPLACE(guid, '192.168.100.225' ,'2068.online');