首页 > 解决方案 > 在 docker 上安装复制器存档以进行本地 wordpress 开发

问题描述

我有一个实时网站,我想在本地测试一些东西。我使用 Duplicator 制作了一个安装程序,并在本地启动了一个用于 Wordpress 的 Docker 容器。这是我的docker-compose.yml

version: "2"
services:
  my-wpdb:
    image: mariadb
    ports:
      - "8081:3306"
    environment:
      MYSQL_ROOT_PASSWORD: password
  my-wp:
    image: wordpress
    volumes:
      - ./:/var/www/html
    ports:
      - "8080:80"
    links:
      - my-wpdb:mysql
    environment:
      WORDPRESS_DB_PASSWORD: password

我复制了installer.php本地文件夹并开始安装localhost:8080/installer.php

当我到达数据库连接页面时,它不起作用,我不明白我想要实现的目标是不可能的,还是我犯了一些错误。

这就是我所看到的:

这就是我可以阅读的内容dup-installer-log.txt

INSTALLER ERROR:
*** PHP Fatal Error Message: Uncaught Error: Call to a member function options() on boolean in /var/www/html/dup-installer/classes/class.db.php:45
Stack trace:
#0 /var/www/html/dup-installer/ctrls/ctrl.s2.dbtest.php(162): DUPX_DB::connect('localhost', 'admin', 'password', NULL, '8081')
#1 /var/www/html/dup-installer/ctrls/ctrl.s2.dbtest.php(121): DUPX_DBTest->r10All(Array)
#2 /var/www/html/dup-installer/ctrls/ctrl.s2.dbtest.php(87): DUPX_DBTest->runBasic()
#3 /var/www/html/dup-installer/ctrls/ctrl.s2.base.php(92): DUPX_DBTest->run()
#4 /var/www/html/dup-installer/main.installer.php(196): require_once('/var/www/html/d...')
#5 {main}
  thrown (Code: 1, line 45 in /var/www/html/dup-installer/classes/class.db.php)

有人可以帮助我吗?

标签: phpwordpressdockerlocalhost

解决方案


您应该使用您的服务名 my-wpdb 作为复制器插件的主机名。

host = servicename defined in docker-compose.yaml
Database = MYSQL_DATABASE
User = MYSQL_USER
Password = MYSQL_PASSWORD

推荐阅读