我正在使用 wp-env 为我的 WordPress 插件创建开发环境。 有人知道如何将 phpmyadmin 添加到工作容器来访问数据库表吗?
我已经搜索了任何教程,但没有运气。另外,使用自定义 docker 映像可能会解决问题,但我在测试时遇到了另一个问题
对你来说可能有点晚了,但我需要这样做来支持一个旧的 WordPress 项目。由于我看到你的问题,也找不到任何快速答案,所以我写了一个小脚本并发布了一个要点来分享:
https://gist.github.com/firxworx/cd114d55c9b5135f19bab51ba212c92b
假设 wp-env 正在运行,该脚本将实现以下配方来回答您的问题:
docker ps
和 --filter
标志加上 grep
查找 wp-env 创建的 wordpress 数据库的容器名称。过滤器值基于 wp-env 使用“mariadb”映像并在生成的容器名称中包含“mysql”这一事实。 grep
用于从结果中排除“tests-mysql”容器,因此仅保留“mysql”容器。docker inspect <container_name>
命令过滤json结果,在jq
的结果中找到数据库容器的网络名称:jq -r '.[0].NetworkSettings.Networks | keys[]'
docker run
命令拉取并运行 phpmyadmin/phpmyadmin:latest
docker 映像作为容器,环境变量设置为通过端口 3306
上的 wp-env 容器使用的 docker 网络与默认 wp 连接到数据库容器-env root
/ password
该脚本将在 http://localhost:8080 运行 phpmyadmin。
如果需要的话,可以很容易地连接到“tests-mysql”容器。
如果您的系统上没有安装
jq
,那么它是开发人员在脚本中使用 json 所必需的。它可在每个流行的 Linux 发行版上使用(例如 Ubuntu:sudo apt install -y jq
),并且如果您使用 MacOS(例如brew install jq
),则可以在brew 上使用。