首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker / phpmyadmin:无法连接到

Docker / phpmyadmin:无法连接到
EN

Stack Overflow用户
提问于 2022-04-12 16:20:44
回答 2查看 99关注 0票数 1

我有下面的停靠-撰写文件。

代码语言:javascript
复制
version: "3.7"
services:
  main:
    container_name: buspack_main
    build:
      context: .
      target: development
    volumes:
      - .:/usr/src/app
      - /usr/src/app/node_modules
    ports:
      - ${API_PORT}:${API_PORT}
    command: bash -c "npm install --save && npm run start:dev"
    env_file:
      - .env
    networks:
      - webnet
    depends_on:
      - db
    links:
      - db
    restart: always

  db:
    container_name: buspack_db
    image: mysql:5.7.33
    networks:
      - webnet
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: "backendnest"
    ports:
      - 23306:3306
    restart: always
    volumes:
      - ./db:/var/lib/mysql:rw

  phpmyadmin:
    container_name: buspack_phpmyadmin
    image: phpmyadmin/phpmyadmin
    depends_on:
      - db
    restart: always
    ports:
      - '8030:80'
    environment:
      PMA_HOST: buspack_db
      MYSQL_ROOT_PASSWORD: 123456
networks:
  webnet:
volumes:
  db: {}

我的问题是,当我尝试使用phpmyadmin登录时,我会得到以下错误:

mysqli::real_connect():php_network_getaddresses: getaddrinfo失败:名称解析临时失败

而且还

mysqli::real_connect():(HY000/2002):php_network_getaddresses: getaddrinfo失败:名称解析临时失败

我遗漏了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2022-04-12 17:15:13

代码语言:javascript
复制
    networks:
      - webnet

在phpmyadmin服务中添加webnet网络

票数 0
EN

Stack Overflow用户

发布于 2022-05-31 13:52:13

有更多的选项来解决连接。

  1. 按照webnet的建议,将phpmyadmin容器添加到德夫苏达尼网络中。提供的YML示例覆盖默认网络。由于phpMyAdmin缺少网络配置,默认情况下它不会在webnet停靠网络上。
  2. 从YML中删除所有与networks相关的配置。因为compose已经为一个YML文件中的容器创建了默认网络(文档)。
  3. 使用PMA_ARBITRARY=1 (文档 ),它允许您在登录表单中输入数据库服务器主机名。

使用自定义网桥网络安装YML的示例:

代码语言:javascript
复制
version: '3.8'

services:
  mysql:
    image: mysql:5.7
    container_name: myapp-mysql-db
    restart: unless-stopped
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: ${DB_DATABASE}
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
      MYSQL_PASSWORD: ${DB_PASSWORD}
      MYSQL_USER: ${DB_USERNAME}
    volumes:
      - ./database/dbdata:/var/lib/mysql
    networks:
      - myapp-network

  phpmyadmin:
    image: phpmyadmin:latest
    container_name: phpmyadmin
    ports:
      # 8080 is the host port and 80 is the docker port
      - 8080:80
    environment:
      PMA_HOST: mysql
      UPLOAD_LIMIT: 20M
      MYSQL_USERNAME: ${DB_USERNAME}
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
    restart: unless-stopped
    networks:
      # define your network where all containers are connected to each other
      - myapp-network

networks:
  myapp-network:
    driver: bridge
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71846098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档