我完全是 Shopware 的初学者,我想将 PhpMyAdmin 用于我本地的 Shopware 6 设置。
对于下载,我使用了官方 Shopware 6 开发存储库 https://github.com/shopware/development
我已经看到 docker-compose.yml 已经实现了以下内容:
app_mysql:
build: dev-ops/docker/containers/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: app
MYSQL_PASSWORD: app
networks:
shopware:
aliases:
- mysql
现在我想实现phpmyadmin。我尝试了以下方法:phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- app_mysql:mysql
depends_on:
- app_mysql
ports:
- 8181:80
environment:
PMA_HOST: app_mysql
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: app
MYSQL_PASSWORD: app
phpmyadmin 在 localhost:8181 上可见,但是当我尝试登录时出现以下错误:mysqli::real_connect(): php_network_getaddresses: getaddrinfo 失败: 名称或服务未知
mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known
我该如何解决?
最佳答案
通常 phpmyadmin
应该与数据库在同一个网络中。
服务名称解析为容器的 IP 地址,因此建议使用 RFC1035 允许的名称。以避免额外的问题。
我删除了 links:
, aliases
, depends_on
已弃用/不需要并最终得到此 docker-compose.yml
.
version: '3.7'
services:
app-mysql:
#build: dev-ops/docker/containers/mysql
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: app
MYSQL_PASSWORD: app
networks:
- shopware
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- 8181:80
environment:
PMA_HOST: app-mysql
PMA_PORT: 3306
PMA_ARBITRARY: 1
networks:
- shopware
networks:
shopware
运行容器:docker-compose up
开通 http://localhost:8181/index.php
在浏览器中。用
Server: app-mysql
Username: root
Password: root
享受:关于docker - Shopware 6 Docker Setup 添加 PHPMyAdmin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63721796/