在 wordpress docker-compose 安装上使用 wpcli

问题描述

我正在开发一个使用 docker-compose 在本地运行的 wordpress 主题。这是我的 docker-compose 文件

version: '2'

services:
  MysqL:
    image: MysqL:5.7
    restart: always
    ports:
      - 32787:3306
    environment:
      MysqL_USER: wordpress
      MysqL_ROOT_PASSWORD: wordpress
      MysqL_DATABASE: wordpress
      MysqL_PASSWORD: wordpress

wordpress:
  depends_on:
    - MysqL
  image: wordpress
  ports:
    - 32788:80
  restart: always
  volumes:
    - ./:/var/www/html/wp-content/themes/lorraine
  environment:
    wordpress_DB_HOST: MysqL:3306
    wordpress_DB_USER: wordpress
    wordpress_DB_PASSWORD: wordpress

这个配置的问题是我无法执行wpcli,因为我无法访问wordpress文件夹,所以......我通过这个改变了它:

wordpress:
  volumes:
    - ../../:/var/www/html #To generate wordpress structure outside my theme folder
  
wpcli:
  image: wordpress:cli
  volumes_from:
    - wordpress
  links:
    - MysqL
  entrypoint: wordpress
  command: "--info"

但是我有两个问题:

  • 创建的文件夹是使用此权限创建的:

drwxr-xr-x 3 www-data www-data 4096 5 月 14 日 08:30 插件

  • docker-compose up -d 抛出这个错误

错误:对于 wpcli 无法启动服务 wpcli:OCI 运行时创建 失败:container_linux.go:349:导致启动容器进程 "exec:"wordpress": 在 $PATH 中找不到可执行文件": 未知 错误:启动项目时遇到错误

你知道我该如何修复它们吗?

更新

我通过更改 wp-cli 配置解决了第二个问题:

wordpress:
  volumes:
    - ../../../:/var/www/html

wpcli:
  image: wordpress:cli
  volumes:
    - ../../../:/var/www/html
  depends_on:
    - MysqL
    - wordpress

但是文件夹和文件是以只读权限创建的。我尝试将 rw 添加到卷属性,但它不起作用。

你知道我该如何解决吗?

解决方法

错误说

"executable file not found in $PATH":"Set PATH to point to wordpress executable in your compose file."

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...