4

我完全是 Shopware 的初学者,我想在本地 Shopware 6 设置中使用 PhpMyAdmin。

对于下载,我使用了官方 Shopware 6 Development 存储库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 失败:名称或服务未知

我该如何解决?

4

4 回答 4

5

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

我删除了已弃用/不需要的 , ,并最终links:得到aliases了.depends_ondocker-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

享受:

在此处输入图像描述

于 2020-09-03T17:37:19.873 回答
0

您必须用作主机 mysql 或 app_mysql

于 2020-09-03T11:12:51.657 回答
0

这不是答案,但请尝试 http://localhost:8001/ 它不是 phpMyAdmin 但它是另一个工具Adminer:)

于 2020-09-03T11:16:37.867 回答
0

您应该使用链接 phpmyadmin 和 mysql

links:
      - app_mysql:mysql

将其用作:

links:
      - mysql

添加环境:

`PMA_HOST`: mysql
于 2020-09-03T11:39:42.350 回答