- 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 replacewp-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
- Create network if not exists
docker network create traefik
- Run Traefik
cd traefik docker compose up -d
-
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
-
Create docker group if not exists. First check if
docker
group exists by typing commandgroups
sudo usermod -aG docker $USER
-
Add write permission to the project volume/folder
sudo chmod 775 -R wordpress/wp-content/
For best performance on Windows, run your source directory from WSL2 (Win Pro license might be required).