aslamdoctor / docker-wordpress

Docker Setup for WordPress Projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wordpress-Docker setup

How to use?

  • Clone the repo git@github.com:aslamdoctor/docker-wordpress.git
  • Update .env file for project credentials
  • Run docker compose up -d
  • Deleted files in your wordpress directory and replace with your project if required. Do not replace wp-config.php file.
  • Add entry to hosts file
127.0.0.1 mywebsite.local
::1 mywebsite.local
  • Run http://mywebsite.local/ for frontend
  • Follow instructions on screen for installation process
  • Run WP-CLI commands like this docker-compose run --rm wp-cli --info
  • Run http://mywebsite.local:6060/ for phpMyAdmin

Setup Traefik for reverse proxy

  • Create network if not exists docker network create traefik
  • Run Traefik
    cd traefik
    docker compose up -d
    

Some important commands

  • To Search-Replace URL in database

    docker-compose run --rm wp-cli search-replace 'http://mywebsite.local' 'http://mywebsite.local:8000'

  • Backup/Restore Database using WP CLI

    docker-compose run --rm wp-cli wp db export - > database.sql

    docker-compose run --rm wp-cli wp db import - < database.sql

  • To backup database from Docker mysql container

    docker exec CONTAINER_ID mysqldump -u wordpress -pwordpress wordpress --no-tablespaces > ./database.sql

  • To restored database to Docker mysql container

    docker exec CONTAINER_ID mysql -u wordpress -pwordpress -e "CREATE DATABASE IF NOT EXISTS wordpress"

    cat database.sql | docker exec -i CONTAINER_ID /usr/bin/mysql -u wordpress --password=wordpress wordpress

  • To log into Docker container shell

    docker exec -ti CONTAINER_ID sh

  • Install essential plugins docker-compose run --rm wp-cli wp plugin install regenerate-thumbnails --activate svg-support --activate duplicate-post --activate contact-form-7 --activate

Apply proper file/folder permissions to modify the WordPress files

  1. Create docker group if not exists. First check if docker group exists by typing command groups

    sudo usermod -aG docker $USER

  2. Add write permission to the project volume/folder

    sudo chmod 775 -R wordpress/wp-content/

Notes

For best performance on Windows, run your source directory from WSL2 (Win Pro license might be required).

Related Article

Click here to read the related article

About

Docker Setup for WordPress Projects

License:MIT License


Languages

Language:Shell 100.0%