A Docker setup that runs WordPress, Nginx, Apache, PHP-FPM, phpMyAdmin, and MySQL inside a single container, with fixed resource limits:
- CPU:
1.0 - RAM:
1GB
Make sure you have the following installed:
- Docker Desktop
- Docker Compose (
docker compose)
Verify installation:
docker --version
docker compose versiongit clone <REPO_URL>
cd <PROJECT_FOLDER>docker compose up -d --buildThis command will:
- build the image,
- create/start the container,
- apply the
1 CPU+1GB RAMlimits fromdocker-compose.yml.
WordPress files are written locally to:
./httpdocs
This means you can view/edit them directly from your computer.
From docker-compose.yml:
- Root password:
rootpass - DB name:
wordpress - DB user:
wpuser - DB password:
wppass
docker compose psdocker logs -f wordpress-containerdocker compose downdocker compose down -vNotes:
-vremoves the MySQL volume.- WordPress files under
./httpdocsare a bind mount, so delete them manually if you want a fully clean WordPress install.
docker inspect wordpress-container --format 'NanoCpus={{.HostConfig.NanoCpus}} Memory={{.HostConfig.Memory}} MemorySwap={{.HostConfig.MemorySwap}}'Expected output:
NanoCpus=1000000000(1 CPU)Memory=1073741824(1GB)MemorySwap=1073741824
- Make sure the container is running:
docker compose ps- If the container just restarted, wait 5–10 seconds and refresh.
- Try the explicit port as well:
http://localhost:8080/...
docker compose down -v
rm -rf httpdocs/*
docker compose up -d --buildThis repository includes a custom WooCommerce plugin:
./plugins/wpck-woo-product-tag-cleaner
It is mounted automatically into WordPress at:
/wp-content/plugins/wpck-woo-product-tag-cleaner
- Open WordPress admin.
- Go to Plugins.
- Activate WooCommerce Product Tag Cleaner.
On Products list (/wp-admin/edit.php?post_type=product):
- A bulk action: Remove tags from selected products (works on selected rows only).
- A button: Remove all product tags (all products) (removes tags from every product).