zoukankan      html  css  js  c++  java
  • php连接docker运行的mysql,显示(HY000/2002): Connection refused的解决办法

    • php要连接docker中运行的mysql是不能用localhost, 127.0.0.1来连接的,因为每个docker运行容器的localhost 127.0.0.1都是自己容器本身,不是mysql容器,需要修改成母机 IP,或者是mysql容器名称

    • 比如有如下的docker-compose.yml

    version: '3'
    
    services:
      mysql:
    #   build: ./mysql
        image: daocloud.io/library/mysql:5.7.20
        volumes:
          - ./mysql/conf:/etc/mysql
          - ./mysql/data:/var/lib/mysql
        environment:
          - MYSQL_ROOT_PASSWORD=root
        ports:
          - "3306:3306"
        networks:
          - lnmp
    
      php54:
        build: ./php54
    #  # 使用宿主:容器 (HOST:CONTAINER)格式或者仅仅指定容器的端口(宿主将会随机选择端口)都可以
    #  # 开放9000端口
        ports:
          - "9005:9000"
    #  # 此处实现文件夹代码目录映射
        volumes:
          - ../:/data
          - ./php54/hosts:/etc/hosts
          - ./php54/etc/php/php.ini:/usr/local/etc/php/php.ini
          - ./php54/etc/php-fpm.conf:/usr/local/etc/php-fpm.conf
        links:
          - mysql
        privileged: true
        networks:
          - lnmp
      nginx:
        build: ./nginx
      # 此处实现文件夹代码目录映射
        volumes:
          - ../:/data
          - ./php54/hosts:/etc/hosts
        links:
          - php54:php54
        privileged: true
        ports:
          - "80:80"
        networks:
          - lnmp
    
    networks:
      lnmp:
        driver: bridge
    
    
    • php中连接的 mysql 地址就是 mysql就可以连接了,不用 localhost 或127.0.0.1
  • 相关阅读:
    【HAOI2014】走出金字塔
    【HAOI2008】圆上的整点
    LOJ #116 有源汇点有上下界的最大流
    ZOJ [P2314] 无源汇点有上下界模版
    最小费用最大流模版
    最大流模版 dinic
    最大流模版 EK
    HDU [P1533]
    HDU [2255] 奔小康赚大钱
    POJ [P2289] Jamie's Contact Groups
  • 原文地址:https://www.cnblogs.com/imbin/p/8299141.html
Copyright © 2011-2022 走看看