Shopware 6 Docker安装程序添加PHPMyAdmin

问题描述

我是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失败:名称或服务未知

我该如何解决

解决方法

通常phpmyadmin应该与数据库位于同一网络中。
服务名称解析为容器的IP地址,因此建议使用RFC1035允许的名称,以避免出现其他问题。

我删除了已弃用/不需要的links:aliasesdepends_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

享受:

enter image description here

,

您必须使用mysql或app_mysql作为主机

,

这不是答案,请尝试 http://本地主机:8001 / 它不是phpMyAdmin,而是另一个工具Adminer:)

,

您应该使用以下方式链接phpmyadmin和mysql

links:
      - app_mysql:mysql

用作:

links:
      - mysql

添加环境:

`PMA_HOST`: mysql