亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試通過 docker 容器中托管的 phpmyadmin 訪問 MariaDB 數據庫

嘗試通過 docker 容器中托管的 phpmyadmin 訪問 MariaDB 數據庫

PHP
浮云間 2023-07-08 16:25:10
我正在嘗試設置一個基本的 LAMP 堆棧,但在容器運行時docker-compose無法使用它連接到mariadb數據庫。phpmyadmin為了嘗試解決該問題,我將docker-compose.yaml文件剝離為:version: '3.2'                       services:   db:      image: mariadb      container_name: appsDB      restart: always      ports:       - '6603:3306'      environment:        MYSQL_ROOT_PASSWORD: secret   app:      depends_on:       - db      image: phpmyadmin/phpmyadmin      container_name: phpmyadmin      restart: always      ports:       - '8080:80'      environment:        PMA_HOST: db當我運行容器時,我可以導航到該phpmyadmin頁面,但是當我輸入root/secret用戶名/密碼時,我收到錯誤: Cannot log in to the MySQL server mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known為了確保這不是我的計算機的問題,我還運行了docker-compose up數據庫映像,并將其更改為mysql并保持所有其他細節相同。root/secret然后就沒有問題了:phpmyadmin 工作正常,我可以使用上一個圖像中使用的相同憑據正常登錄。誰能告訴我為什么mariadb會這樣,有什么方法可以通過 docker 容器中的 phpmyadmin 訪問它嗎?
查看完整描述

1 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

您是否正在使用過時版本的圖像/容器?你的 docker-compose.yml 對我來說工作得很好(我的 Docker 版本是 19.03.8,我認為這并不重要)。

我首先嘗試強制它重新創建整個堆棧docker-compose up --force-recreate。我注意到您將此文件稱為docker-compose.yaml但正確的默認擴展名應該是 .yml;如果你曾經使用 .yml 文件創建它(或者通過直接向 docker-compose 指定文件名),我可以想象 Docker 會默默地(或者至少不明顯地)無法重建新文件,所以雙重 -還要檢查文件名。

如果這不起作用,我建議進入 phpMyAdmin 容器的 shell 并嘗試一些網絡命令,看看是否可以直接連接;例如安裝mariadb-client包并嘗試mysql -u root -h db -p。


查看完整回答
反對 回復 2023-07-08
  • 1 回答
  • 0 關注
  • 272 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號