Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker compose无法连接到mysql_Docker_Docker Compose_Docker Container - Fatal编程技术网

docker compose无法连接到mysql

docker compose无法连接到mysql,docker,docker-compose,docker-container,Docker,Docker Compose,Docker Container,经过数小时的尝试,我发现谷歌搜索了不同的东西,但仍然无法连接到MySQL 这是我的docker-compose.yaml version: '3.5' services: apache: build: . container_name: apache-dot restart: unless-stopped volumes: - ./www-data:/var/www depends_on: - mysql ports

经过数小时的尝试,我发现谷歌搜索了不同的东西,但仍然无法连接到MySQL

这是我的docker-compose.yaml

version: '3.5'

services:

  apache:
    build: .
    container_name: apache-dot
    restart: unless-stopped
    volumes:
      - ./www-data:/var/www
    depends_on:
      - mysql
    ports:
      - 80:80

  mysql:
    image: mysql:5.7
    container_name: mysql-dot
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: xxxxxxxx
      MYSQL_DATABASE: xxxxxxx
    volumes:
      - mysql-data:/var/lib/mysql
      - ./mysql-dump:/docker-entrypoint-initdb.d
    ports:
      - 3306:3306

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin-dot
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: xxxxxxx
    depends_on:
      - mysql
    ports:
      - 8000:80

networks:
    default:

volumes:
  mysql-data:
    driver: local
Docker compose生成正确无错误

docker日志和docker inspect没有发现任何错误。 docker网络检查看起来也不错

任何帮助都将不胜感激

多谢各位

已解决

我不得不添加到PHPMyAdmin服务
PMA\u主机:mysql

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin-dot
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: xxxxxxx
      PMA_HOST: mysql  <====
    depends_on:
      - mysql
    ports:
      - 8000:80
phpmyadmin:
图片:phpmyadmin/phpmyadmin
容器名称:phpmyadmin dot
重新启动:除非停止
环境:
MYSQL\u ROOT\u密码:xxxxxxx

PMA_主机:mysql尝试连接到mysql的进程是什么?从另一个容器,相同的主机,不同的主机?使用什么命令行和主机名?SO文件对以下方面有一些提示:;有很多事情可能会出错(以及许多现有的SO答案!)。对不起,我认为这在docker-compose.yaml中是显而易见的。有三个容器在同一网络上运行。Apache在0.0.0.0:80上运行,MySQL在0.0.0.0:3306上运行,phpmyadmin在0.0.0.0:8000上运行。对,但是谁在连接服务器?你怎么知道它不工作了?因为我把docker exec-it CONTAINER bash
放到了MySQL容器中,我可以登录MySQL,查看我的数据库和他的表,当我尝试使用PHPMyAdmin登录时,在登录表单的顶部说不能登录MySQL服务器,在底部说不能登录MySQL服务器:php\u network\u getaddresses:getaddrinfo失败:名称未解析请添加PHPMyAdmin屏幕的屏幕截图。您在“服务器”字段中输入了什么?本地主机?您应该输入数据库ie
mysql的容器名称