[英]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.