wordpress docker:使用 wpcli 查找不同容器中的卷

问题描述 投票:0回答:1

我开始学习 WordPress sage with acorn 的设置,并且我使用 docker 来完成此操作,因为我使用的是 Windows 机器。

我使用一些插件,例如 ACF:Composer using Acorn,当我要添加选项时,他使用此命令 wp acorn acf:options ThemeOptions 我收到此错误:

Warning: No WordPress installation found. If the command 'acorn acf:options ThemeOptions' is in a plugin or theme, pass --path=`path/to/wordpress`.
Error: 'acorn' is not a registered wp command. See 'wp help' for available commands.
Did you mean 'core'?

所以我尝试了这个标志 `--path='path/to/wordpress`` 所以我使用这个命令,因为我使用 wpcli for docker:

docker exec wpcli wp acorn acf:options ThemeOptions --path=`/var/www/html/`

但它给了我这个错误:

bash: /var/www/html/: No such file or directory
Error: The --path parameter cannot be empty when provided.

这是我的 docker compose 文件和环境:

Docker

version: '3.5'

services:
  wordpress:
    image: wordpress:6.4.3
    env_file:
      - .env
    environment:
      WORDPRESS_DB_HOST: ${WORDPRESS_DB_HOST}
      WORDPRESS_DB_USER: ${WORDPRESS_DB_USER}
      WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
      WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME}
      WORDPRESS_TABLE_PREFIX: ${WORDPRESS_TABLE_PREFIX}
      WORDPRESS_DEBUG: ${WORDPRESS_DEBUG}
      WORDPRESS_CONFIG_EXTRA: ${WORDPRESS_CONFIG_EXTRA}
    ports:
      - '80:80'
    volumes:
      - ./src/plugins:/var/www/html/wp-content/plugins
      - ./src/themes:/var/www/html/wp-content/themes


  db:
    build:
      context: .
      dockerfile: ./dockerfile/database/Dockerfile
    image: mariadb:11.2
    env_file:
      - .env
    environment:
      - MYSQL_ROOT_PASSWORD=${WORDPRESS_DB_PASSWORD}
      - MYSQL_DATABASE=${WORDPRESS_DB_NAME}
    volumes:
        - db_data:/var/lib/mysql
        - ./migrations/wordpress.sql:/docker-entrypoint-initdb.d/wordpress.sql

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    env_file:
      - .env
    links:
      - db
    environment:
      PMA_HOST: ${WORDPRESS_DB_HOST}
      PMA_USER: ${WORDPRESS_DB_USER}
      PMA_PASSWORD: ${WORDPRESS_DB_PASSWORD}
      PMA_PORT: 3306
    restart: always
    ports:
      - '8081:80'
  
  wpcli:
    image: wordpress:cli-2.9-php8.3
    env_file:
      - .env
    volumes:
      - wordpress:/var/www/html
      - ./migrations:/var/www/html/migrations
    environment:
      WORDPRESS_DB_HOST: ${WORDPRESS_DB_HOST}
      WORDPRESS_DB_USER: ${WORDPRESS_DB_USER}
      WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
      WORDPRESS_DB_NAME: ${WORDPRESS_DB_NAME}
    container_name: wpcli
    depends_on:
      - db
      - wordpress
    user: 1000:1000
    command: tail -f /dev/null

volumes:
  db_data:
  wordpress:

环境

WORDPRESS_DB_HOST=db
WORDPRESS_DB_USER=root
WORDPRESS_DB_PASSWORD=root
WORDPRESS_DB_NAME=wordpress
WORDPRESS_TABLE_PREFIX=wp_
WORDPRESS_DEBUG=1
WORDPRESS_CONFIG_EXTRA=''

正如您在我的

wpcli service
中的 docker 文件中看到的那样,我安装了
wordpress service
的卷,但是当我检查 docker 桌面文件资源管理器中的
wpcli container
时,我找不到我的 WordPress 文件:

这是我的 WordPress 容器:

提前谢谢您!

wordpress docker sage wp-cli acorn
1个回答
0
投票

在不依赖数据库的情况下运行此配置时遇到问题

wordpress
服务:

depends_on:
    - db

但我认为主要问题是该服务没有安装

wordpress
卷:

volumes:
    - wordpress:/var/www/html
    - ./src/plugins:/var/www/html/wp-content/plugins
    - ./src/themes:/var/www/html/wp-content/themes
© www.soinside.com 2019 - 2024. All rights reserved.