使用Docker建立MySQL伺服器加上phpmyadmin

在前面的文章中我們瞭解了使用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

以下是操作的過程畫面:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *