【问题标题】:#2002 getaddrinfo failed - phpmyadmin using docker container#2002 getaddrinfo 失败 - phpmyadmin 使用 docker 容器
【发布时间】:2018-04-26 19:29:27
【问题描述】:

我正在尝试通过 docker 容器将 phpmyadmin 与 mysql 数据库连接起来

我有以下 docker-compose.yml 文件

version: "3"
services:
database:
image: mysql:latest
container_name: locations-service-mysql
environment:
  MYSQL_ROOT_PASSWORD: root
  MYSQL_ALLOW_EMPTY_PASSWORD: "yes"

volumes:
  - ./mysql-init:/var/lib/mysql:rw
  - ./mysql-init/locations_schema.sql:/docker-entrypoint-
    initdb.d/locations_schema.sql:ro


 phpmyadmin:
   image: phpmyadmin/phpmyadmin:latest
   ports:
  - 8181:80
environment:
  MYSQL_USERNAME: root
  MYSQL_ROOT_PASSWORD: examplepass
  PMA_HOST: database


dropwizard:
build: ../locations-service/
ports:
      - 8080:8080
      - 8081:8081
      - 5005:5005
depends_on:
      - database
container_name: locations-service

我尝试使用 root 帐户和给定的密码登录 PMA:blabla。 我收到以下错误:

2002 - php_network_getaddresses: getaddrinfo failed: Name doesn't resolve — 服务器没有响应(或本地服务器的套接字配置不正确)。

【问题讨论】:

    标签: php mysql phpmyadmin docker-compose


    【解决方案1】:

    似乎“数据库”不在 phpmyadmin 的容器 /etc/hosts 中(它没有链接)

    试试链接

    version: "3"
      services:
      database:
        image: mysql:latest
        container_name: locations-service-mysql
        environment:
          MYSQL_ROOT_PASSWORD: root
          MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
      volumes:
        - ./mysql-init:/var/lib/mysql:rw
        - ./mysql-init/locations_schema.sql:/docker-entrypoint-initdb.d/locations_schema.sql:ro
    
    
     phpmyadmin:
       image: phpmyadmin/phpmyadmin:latest
       links:
         - database
       ports:
        - 8181:80
      environment:
        MYSQL_USERNAME: root
        MYSQL_ROOT_PASSWORD: examplepass
        PMA_HOST: database
    

    【讨论】:

    • 通过使用链接解决了,我认为依赖就足够了:D
    • depends on 不包括 hosts 文件中的条目
    猜你喜欢
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 2018-11-22
    • 2021-03-23
    相关资源
    最近更新 更多