Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.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将phpmyadmin连接到数据库_Php_Mysql_Docker_Phpmyadmin_Docker Compose - Fatal编程技术网

无法使用docker compose将phpmyadmin连接到数据库

无法使用docker compose将phpmyadmin连接到数据库,php,mysql,docker,phpmyadmin,docker-compose,Php,Mysql,Docker,Phpmyadmin,Docker Compose,也许这个问题以前被问过几次,但我没有得到一个有效的答案来解决我的问题 我试图使用docker compose在不同容器上的docker中运行phpmyadmin,但它始终会出现以下错误: #2002-连接被拒绝-服务器没有响应(或本地服务器的套接字配置不正确) 我的docker compose文件包含以下代码: version: "2" services: web: build: . ports: - "80:80" networks: -

也许这个问题以前被问过几次,但我没有得到一个有效的答案来解决我的问题

我试图使用
docker compose
在不同容器上的docker中运行phpmyadmin,但它始终会出现以下错误:

#2002-连接被拒绝-服务器没有响应(或本地服务器的套接字配置不正确)

我的docker compose文件包含以下代码:

version: "2"

services:
  web:
    build: .
    ports:
      - "80:80"
    networks: 
      - web
    volumes:
      - .:/code
    restart: always
  db:
    image: "mysql:5"
    volumes:
      - ./mysql:/etc/mysql/conf.d
    environment:
      MYSQL_ROOT_PASSWORD: toor
      MYSQL_DATABASE: phpapp
    networks: 
      - web
    restart: always
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
      PMA_PORT: 3306
      PMA_HOST: db
      PMA_USER: root
      PMA_PASSWORD: toor
    ports:
      - "8000:80"
    restart: always
    networks: 
      - web

networks: 
  web:
    driver: bridge
web
容器中,我正在尝试连接数据库,它工作正常,但问题发生在
phpmyadmin
连接上


任何帮助都将不胜感激。:)

有趣的是,我已经运行了您的compose文件,并且可以访问phpmyadmin 来自主持人

不得不将端口8000更改为8004(主机上的端口8000已被占用)

如果数据库容器启动速度不够快,phpmyadmin无法连接,我建议在phpmyadmin服务中添加dependens\u on。确保数据库在phpmyadmin之前启动

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
      PMA_PORT: 3306
      PMA_HOST: db
      PMA_USER: root
      PMA_PASSWORD: toor
    ports:
    - "8004:80"
    restart: always
    depends_on: 
    - db
    networks: 
    - web

如果问题仍然存在,请显示docker compose up的日志。

现在您需要向mysql服务添加连接到phpmyadmin的命令

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
      PMA_PORT: 3306
      PMA_HOST: db
      PMA_USER: root
      PMA_PASSWORD: toor
    ports:
    - "8004:80"
    restart: always
    depends_on: 
    - db
    networks: 
    - web
命令:--默认身份验证插件=mysql\u本机\u密码

version: "2"
services:
db:
    image: mysql:latest
    command: --default-authentication-plugin=mysql_native_password
    ports: 
        - "3306:3306"
    environment:
        MYSQL_DATABASE: drupal
        MYSQL_USER: user
        MYSQL_PASSWORD: test
        MYSQL_ROOT_PASSWORD: test
    volumes:
        - ./dump:/docker-entrypoint-initdb.d
        - /var/lib/mysql
    networks:
        - default
phpmyadmin:
    image: phpmyadmin/phpmyadmin
    links: 
        - db:db
    ports:
        - 8000:80
    environment:
        PMA_HOST: db
        MYSQL_USER: user
        MYSQL_PASSWORD: test
        MYSQL_ROOT_PASSWORD: test

这才是真正的问题。谢谢