如何利用 Docker 連接 mysql 與 phpmyadmin

步驟一 建立 mysql 資料夾 
首先建立一個資料夾放置 mysql 的資料確保容器結束後 mysql 的資料還會存在。

mkdir mysql

步驟二 啟用 mysql 容器

docker run  -p 1234:3306   -d   -v $PWD/mysql:/var/lib/mysql   -e MYSQL_ROOT_PASSWORD=root   mysql 

 -p 1234:80 :mysql 將會執行在本機端的 1234 port
 -d : 指定為背景執行
 -v $PWD/mysql:/var/lib/mysql  :指定 volume, 其中 $PWD/mysql 是第一步驟中建立的資料夾, $PWD 為當前目錄。/var/lib/mysql 則為 mysql image 中資料存放位置
 -e MYSQL_ROOT_PASSWORD=root :設定環境變數,指定 root 使用者密碼為 root
 mysql :docker 映像檔名稱

* 若重新啟動 mysql 容器,則環境變數 (MYSQL_ROOT_PASSWORD) 可省略,因為資料已被儲存在步驟一建立的資料夾內

步驟三 取得容器名稱

docker ps

執行第二步驟後,mysql 的容器將會在背景運行,透過 docker ps 指令可取得容器名稱



如上圖所示,priceless_roentgen 既為 mysql 容器名稱

* 如果想要指定 mysql 容器名稱,可在第二步驟啟用 mysql 容器時,透過 --name 指定

docker run  -p 1234:3306   -d   -v $PWD/mysql:/var/lib/mysql   --name myname mysql

步驟四 啟用 phpmyadmin 容器

docker run  -p 2345:80   -d   -e PMA_PORT=1234   --link priceless_roentgen:db   phpmyadmin/phpmyadmin 

 -p 2345:80 :phpmyadmin 將會執行在本機端的 2345 port
 -d 指定為背景執行
 -e PMA_PORT=1234 :設定環境變數,由於 mysql 在步驟二中指定運行在本機端的 1234 port ,因此我們需指定 phpmyadmin db port 為 1234,
 --link priceless_roentgen:db :連接 mysql 容器,priceless_roentgen 為步驟三所取得的mysql 容器名稱
 phpmyadmin/phpmyadmin docker 映像檔名稱

步驟五 登入 phpmyadmin 

開啟瀏覽器輸入 http://localhost:2345,並鍵入使用者名稱 (root) 與密碼 (root) 後,即可使用 phpmyadmin


留言