1

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?

SebastianOpperman
  • 6,988
  • 6
  • 30
  • 36

0 Answers0