问题描述
我是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:
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失败:名称或服务未知
我该如何解决?
解决方法
通常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
享受:
,您必须使用mysql或app_mysql作为主机
,这不是答案,请尝试
http://本地主机:8001 /
它不是phpMyAdmin,而是另一个工具Adminer
:)
您应该使用以下方式链接phpmyadmin和mysql
links:
- app_mysql:mysql
用作:
links:
- mysql
添加环境:
`PMA_HOST`: mysql