Docker mysql+phpmyadmin配置備忘

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

當嘗試migrate時出現的錯誤
Docker mysql+phpmyadmin配置備忘_第1张图片

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

接下要部署phpmyadmin的容器並且與mariadb容器連接
Docker mysql+phpmyadmin配置備忘_第3张图片

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

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

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

登入成功!!!
Docker mysql+phpmyadmin配置備忘_第8张图片

你可能感兴趣的:(docker,mysql)