Shopware 6 Docker Setup 添加 PHPMyAdmin

Jon*_*ese 4 phpmyadmin e-commerce docker shopware shopware6

我完全是 Shopware 的初学者,我想将 PhpMyAdmin 用于我本地的 Shopware 6 设置。

对于下载,我使用了官方 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
Run Code Online (Sandbox Code Playgroud)

现在我想实现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
Run Code Online (Sandbox Code Playgroud)

phpmyadmin 在 localhost:8181 上可见,但是当我尝试登录时出现以下错误:

mysqli::real_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known

我该如何解决?

Neo*_*son 5

通常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
Run Code Online (Sandbox Code Playgroud)

运行容器:

docker-compose up
Run Code Online (Sandbox Code Playgroud)

http://localhost:8181/index.php在浏览器中打开。用

Server:    app-mysql
Username:  root
Password:  root
Run Code Online (Sandbox Code Playgroud)

享受:

在此处输入图片说明