当前位置: 首页 > 知识库问答 >
问题:

Docker-Compose:为什么我的webapp无法连接到MySQL?

陶英纵
2023-03-14

我正在尝试连接两个正在运行的容器:(1)一个webapp和(2)一个使用docker Compose的mysql db。我设置了前面提到的docker-compose.yml,但我的webapp无法打开到MySQL的套接字。更具体地说,这个php@fsockopen函数抛出一个错误(第二种情况)。docker-compose配置有问题吗?

注意:idoit是webapp的名称

php案例

if (@fsockopen($l_dbHost, $l_t, $t_errno, $t_errstr, 5)) {
                        $l_success = true;
                        $l_message = "CONNECTED";
                        $l_dbPort = $l_t;
                    } else {
                        $l_success = false;
                        $l_message = "ERROR (" . $t_errno . ")";
                    }

docker-compose.yml

version: "3"

services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ****
      MYSQL_DATABASE: ****
      MYSQL_USER:  ****
      MYSQL_PASSWORD:  ****
    ports:
      - '3306:3306'
    expose:
      - '3306'
    volumes:
      - db_data:/var/lib/mysql
  idoit:
    depends_on:
      - db
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8000:80"
    restart: always
    environment:
      IDOIT_DB_HOST: db:3306
      IDOIT_DB_USER:  ****
      IDOIT_DB_PASSWORD:  ****
      IDOIT_DB_NAME:  ****
      
volumes:
  db_data: {}

共有1个答案

夹谷英奕
2023-03-14

看来idoit服务没有访问mysql数据库的网络权限。

db服务具有


networks:
      - backend

和idoit服务-不

 类似资料:
  • 问题内容: 我在Mac OS 10.8.5上安装了docker-machine 0.1.0和docker-compose 1.1.0。 Docker-machine正常运行,并且能够通过docker-machine ssh连接。 但是无法从docker-compose连接。 无法通过http + unix://var/run/docker.sock连接到Docker守护程序-它正在运行吗? 如果它

  • 问题内容: 我收到一条错误消息,提示我无法连接到Docker守护程序。我调查了其他人遇到类似问题的答案,但没有帮助。我正在运行Ubuntu 15.10版本。我将尝试提供我所有的信息。 Docker版本 Docker-Compose版本 如果我尝试停止或启动服务,就会发生这种情况。 如果我跑步 任何帮助将不胜感激。让我知道您是否需要更多信息。 问题答案: 我发现了这个问题,似乎可以解决我的问题。 G

  • 我在Mac OS 10.8.5上安装了docker-machine 0.1.0和docker-compose 1.1.0。 docker-machine运行正常,并且能够通过docker-machine SSH进行连接。 但无法从Docker-Compose连接。 无法连接到HTTP+UNIX上的Docker后台进程://var/run/Docker.sock-它正在运行吗? 如果它位于非标准位置

  • 我有一个连接到mysql数据库的Spring Boot应用程序。如果我以经典的方式在本地运行它,它工作得很好。但当我尝试dockerise时,它-数据库成功启动,但应用程序却看不到数据库。 我的DockerFile: 我执行的内容: 首先,我构建我的service_img 然后执行docker-compose up。在日志中,我看到数据库启动日志,然后是应用程序启动日志,然后是错误: 有什么建议吗

  • 我使用docker查看了瓶装水的github MD文件,遇到了一个关于postgresql的问题 如果我运行我会得到错误 这是我的docker compose中postgres和psql的配置。yml文件 这是我的pg_hba。配置文件 我已经做了好几天了,任何形式的帮助都将不胜感激!非常感谢。

  • 我试图运行在通过包含文件()在虚拟机中,但我无法连接到,并且在尝试连接失败时收到的消息如下所示: 如果您注意到,docker能够连接到docker compose文件中提到的其他服务,其中一个是前两行显示的。在docker compose文件中调用kibana的命令如下: 如果我做了,它会给我以下信息: 在这里发布这个问题之前,我在google上广泛搜索了这个问题,并尝试了人们对这个问题的各种建议