首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用docker组合将phpmyadmin连接到数据库

问无法使用docker组合将phpmyadmin连接到数据库
EN

Stack Overflow用户
提问于 2018-02-08 09:46:48
回答 2查看 12.8K关注 0票数 2

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

我试图使用docker-compose在不同容器上运行phpmyadmin,但始终会遇到以下错误:

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

我的停靠器撰写文件包含以下代码:

代码语言:javascript
复制
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连接会出现问题。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-08 11:07:44

有趣的是,我已经运行了您的撰写文件,并且可以从主机访问phpmyadmin。

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

如果您的db-容器启动不够快,使得phpmyadmin无法连接,我建议将depends_on添加到phpmyadmin服务中。确保db在phpmyadmin之前启动。

代码语言:javascript
复制
  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的日志。

票数 1
EN

Stack Overflow用户

发布于 2019-01-08 04:58:21

现在,您需要将命令添加到mysql服务中,以便连接到phpmyadmin。

--default-authentication-plugin=mysql_native_password命令:命令

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48682281

复制
相关文章

相似问题

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