I'm using WordPress in Docker with the following configuration:
# /wp-dock/docker-compose.yml
---
version: "3.3"
services:
db:
container_name: ${APP_NAME}-wordpress-db
image: "mysql:5.7"
platform: linux/amd64
volumes:
- "./data/mysql:/var/lib/mysql"
restart: always
ports:
- 18766:3306
environment:
- MYSQL_DATABASE=${DB_NAME}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
restart: always
ports:
- "8080:80"
environment:
- PMA_HOST=db
wordpress:
container_name: ${APP_NAME}-wordpress
depends_on:
- db
image: "wordpress:latest"
ports:
- "81:80"
environment:
WORDPRESS_DB_HOST: "db:3306"
WORDPRESS_DB_NAME: ${DB_NAME}
WORDPRESS_DB_USER: ${DB_USER}
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
volumes:
- "./wordpress:/var/www/html"
- "./plugins:/var/www/html/wp-content/plugins"
- "./themes:/var/www/html/wp-content/themes"
wpcli:
container_name: ${APP_NAME}-cli
depends_on:
- wordpress
image: wordpress:cli-php8.1
user: 1000:1000
command: tail -f /dev/null
volumes:
- "./wordpress:/var/www/html"
environment:
WORDPRESS_DB_HOST: "db:3306"
WORDPRESS_DB_NAME: ${DB_NAME}
WORDPRESS_DB_USER: ${DB_USER}
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
I can access and use wp-cli
like so:
docker exec site-cli wp --info
This works well. But I'm writing a plugin in the WordPress container that extends the wp-cli
with a custom command as seen here.
When I try run that command, wp-cli
says that it's not a registered command.
Any ideas on how to extend wp-cli
in a Docker container?