2 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
當(dāng)需要建立主機(jī)和容器化 Docker 數(shù)據(jù)庫(kù)之間的連接時(shí),您需要使用主機(jī)的環(huán)回 IP 地址 (127.0.0.1),在您的情況下,這將如下所示:
...
'host' => '127.0.0.1',
'port' => HOST_MACHINE_MYSQL_PORT
'username' => DOCKER_MYSQL_USERNAME,
'password' => DOCKER_MYSQL_PASSWORD,
'database' => DOCKER_MYSQL_DATABASE_NAME
...
HOST_MACHINE_MYSQL_PORT是主機(jī)上的端口,DB 服務(wù)從 Docker 容器指向該端口。
當(dāng)您連接到在 Docker 容器內(nèi)運(yùn)行的 MySQL 服務(wù)器公開的端口時(shí),應(yīng)按預(yù)期建立連接。
localhost關(guān)于vs 的快速說明127.0.0.1:
localhost 是給機(jī)器本身的標(biāo)準(zhǔn)主機(jī)名,通常解析并映射到 127.0.0.1 地址。
127.0.0.1 地址是機(jī)器本身的地址,用于與最終用戶使用的同一臺(tái)機(jī)器或計(jì)算機(jī)建立 IP 連接。

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
我用環(huán)境變量更改了 app.php,更改了數(shù)據(jù)庫(kù)的用戶名和密碼。
我刪除了 ./data/mysql 的數(shù)據(jù)重建容器但仍然是同樣的錯(cuò)誤我猜它與主機(jī)名有關(guān)
也嘗試使用變量 PMA_HOST 但仍然沒有成功。(本地主機(jī)也不起作用)
'host' => env('PMA_HOST'),
如果我登錄到 phpmyadmin,我可以毫無問題地創(chuàng)建我的表。
如果我登錄到容器,我可以登錄并進(jìn)行查詢
我看到套接字沒有通過 grepping php 設(shè)置填充,
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
現(xiàn)在這已經(jīng)填滿了,但仍然沒有繼續(xù) php 連接到 mysql(在蛋糕上,在我的數(shù)據(jù)庫(kù)測(cè)試腳本中我有連接)。
- 2 回答
- 0 關(guān)注
- 258 瀏覽
添加回答
舉報(bào)