phpmyadmin Docker MYSQL '[2006] MySQL服务器已消失'

but5z9lq  于 2022-11-09  发布在  PHP
关注(0)|答案(3)|浏览(154)

我有一个小问题与mysql服务器.我创建了我的docker-compose.yml,但当我想访问phpMyAdmin(localhost:8080),一个错误消息出现说:“phpMyAdmin尝试连接MySQL服务器,但服务器拒绝连接。请检查值 配置中的主机、用户名和密码,并确保它们与MySQL服务器管理员提供的信息匹配”。
这是我的docker-compose文件,谢谢你的帮助

version: '2'
services:
  apache:
    image: rafaelcgstz/magento2
    # build: .
    ports:
      - 80:80
      - 9001:9000
      # - "35729:35729" # live reload
    volumes:
      - ./src:/var/www/html
      - ~/.composer:/var/www/.composer
      - ~/.npm:/var/www/.npm
      # - ~/.nvm:/var/www/.nvm
    environment:
      XDEBUG_CONFIG: "remote_host=localhost"
      PHP_IDE_CONFIG: "serverName=Docker"
    depends_on:
      - db
    links:
      - db
    networks:
      - magento-network

  db:
    image: mariadb
    ports:
     - 3300:3306
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=magento
      - MYSQL_USER=magento
      - MYSQL_PASSWORD=magento
    volumes:
      - dbdata:/var/lib/mysql
    networks:
      - magento-network

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
     - PMA_HOST=db
     - PMA_USER=root
     - PMA_PASSWORD=root
     - MYSQL_ROOT_PASSWORD=root
    ports:
     - 8080:80
    networks:
      - magento-network

  redis:
    image: redis
    ports:
     - 6379
    networks:
      - magento-network

  redis-session:
    image: redis
    ports:
     - 6379
    networks:
      - magento-network

  mailhog:
    image: mailhog/mailhog
    ports:
      - 1025:1025
      - 8025:8025
    networks:
      - magento-network

networks:
  magento-network:
    driver: bridge

volumes:
  dbdata:
    driver: local
agyaoht7

agyaoht71#

mariadb服务定义中似乎存在拼写错误:

ports:
     - 3300:3306

您已配置端口Map,以便可以在3300访问容器,但您未将此信息传递给PHPMyadmin。因此,连接尝试仅超时。
边注:您根本不需要为数据库公开端口-其他容器将使用Docker的虚拟网络与数据库通信,对于本地访问,您可以使用docker container -it exec <container-id> mysql...docker-compose exec db mysql...

5us2dqdw

5us2dqdw2#

虽然这篇文章中的端口似乎有一个错字,但我想指出的是,确保您的用户能够访问“TO”和“FROM "适当的IP是很重要的。
这是通过docker运行adminer / phpadmin时更新访问域的示例(完全开放-根据需要调整):
. 上的所有权限授予“admin '@”255.255.255.0“,并使用”授予“选项标识”密码“;
我在这里添加这个答案,因为我也登陆了这个页面,同样的错误。

3npbholx

3npbholx3#

我用以下命令解决了我的问题:

docker-compose destroy
sudo rm -rf db/
docker-compose up -d
docker-compose web
composer install
symfony d:m:m --no-interaction
symfony d:f:l --no-interaction

相关问题