問題前題:正想嘗試Laravel的migrate,一直顯示錯誤,一路排查,發現連phpmyadmin都無法登入,然後試過在mysql的容器裏是可以正常登入的,再排查,發現原來是需要設定環境變量,以前怎麼成功配置mysql+phpmyadmin的,已經忘記了,現在再好好記錄一下,免得以後再從新爬坑,下面正式開始
(其實migrate失敗,跟phpmyadmin登入失敗沒有關聯的,只是看到這麼基本的事件也能失敗,才會不甘心的把它處理好,再來解決其他問題)

當嘗試migrate時出現的錯誤
Docker mysql+phpmyadmin配置備忘

首先要部署mysql的容器,部署容器後要設定環境變量,MYSQL_ROOT_PASSWORD是原生帳號的密碼,環境變量的設置務必查看docker mysql官方的介紹
Docker mysql+phpmyadmin配置備忘

接下要部署phpmyadmin的容器並且與mariadb容器連接
Docker mysql+phpmyadmin配置備忘

好了,當你以為一切就緒,登入的時候,卻出現無法登入MySQL伺服器,然後又是一大堆google search尋找解決辦法,又無法解決該問題
Docker mysql+phpmyadmin配置備忘

最後,在不屈不撓的決心下,找到問題所在,下面進行解說

  1. 容器連接後不代表phpmyadmin的apache服務能夠自行找到mysql的容器連接的host,容器連接後會預設找localhost,即下圖中的hosts文件中的127.0.0.1的位置,但很明顯該位置並不是我們要連接的目標,127.0.01指的是容器本身
    Docker mysql+phpmyadmin配置備忘
  2. 目前已知道問題所在,那麼怎樣解決問題呢?此時就需要查看官方文件,在phpMyAdmin的官方docker文件中,環境變量中提到PMQ_HOST,設定該變量後,apache2服務就會知道去找172.17.0.17的host位置
    Docker mysql+phpmyadmin配置備忘
  3. 加入變量後再啟動PMA容器
    Docker mysql+phpmyadmin配置備忘

登入成功!!!
Docker mysql+phpmyadmin配置備忘

相关文章:

  • 2021-11-17
  • 2021-07-21
  • 2021-11-17
  • 2022-12-23
  • 2022-01-08
  • 2021-07-01
  • 2021-05-20
猜你喜欢
  • 2022-12-23
  • 2021-06-03
  • 2021-08-31
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案