簡體   English   中英

docker-compose:為什么我的 webapp 無法連接到 mysql?

[英]docker-compose: Why does my webapp fail to connect to mysql?

我正在嘗試連接兩個正在運行的容器:(1)一個 webapp 和(2)一個 mysql db,使用 docker 組合。 我設置了下面提到的docker-compose.yml ,但我的 webapp 無法打開到 mysql 的套接字。 更具體地說,這個 php @fsockopen function 會引發錯誤(第二種情況)。 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: {}

似乎idoit服務無法使用 mysql 數據庫訪問網絡。

數據庫服務有


networks:
      - backend

和白痴服務 - 沒有

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM