在前面的文章中我們瞭解了使用Docker建立各式各樣伺服器好用的地方,在這篇文章中,我們再進一步地利用docker compose,一口氣建立一個MySQL伺服器及phpmyadmin的管理介面,同時也讓所有的資料都可以永久地保存下來。
既然是使用Docker Compose,如你所料,只要有一個正確的yaml檔案就行了。以下的檔案內容是參考phpmyadmin在Docker Hub的官方網頁中的版本進行修改的,官方網頁的內容可以參考以下這個網址:
https://hub.docker.com/_/phpmyadmin
docker-compose.yml檔案的內容如下:
version: '3.1'
services:
db:
image: mariadb:10.3
restart: always
environment:
MYSQL_ROOT_PASSWORD: notSecureChangeMe
volumes:
- db:/var/lib/mysql
ports:
- 3307:3306
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- 8083:80
environment:
- PMA_ARBITRARY=1
volumes:
db:
在上述的檔案中使用的是mariadb這個和MySQL相容的伺服器。MySQL伺服器(嚴格說是MariaDB)開放的連接埠是3307,大部份的情況都是使用3306,但是有些同學的電腦中如果已經有其它已安裝的MySQL伺服器的話,改這個連接埠就可以避開衝突。
此外,phpmyadmin所使用的是8083這個連接埠,意思是說,當我們順利啟用了這兩個docker容器之後,只要在自己的電腦中開啟瀏覽器,然後前往網址:localhost:8083,就可以進入phpmyadmin的登入頁面,如下所示:
在這個頁面中,伺服器的內容是不需要輸入的,只要把使用者名稱填入root,密碼則填入我們在yaml檔案中的設定(在此例中是notSecureChangeMe),再按下執行就可以順利登入了。
由於在此這個例子中也有開放MariaDB的連接埠,因此只要你在本地端電腦中有安裝了mysql的命令列管理程式,也可以利用以下的指令進入這個資料庫伺服器的Shell,進行文字命令的操作:
mysql -h 127.0.0.1 -P 3307 -uroot -p
以下是操作的過程畫面: