MySQL 是一個廣泛被使用,開源的關聯式資料庫管理系統( relational database management system, RDBMS)
目前的MySQL執行效能不斷提升,可靠且易於使用,
因此經常被作為網路應用程式開發資料庫的首選.
其中包括 Facebook, Twitter, YouTube, Yahoo 等公司都有使用。
詳細說明可參考官網: www.mysql.com.
這裡將說明如何在 Docker 安裝即執行 MySQL 環境
快速安裝:
docker pull mysql
自訂安裝版本
這裡推薦使用自訂安裝的方式,首先要先了解幾個部分:
some-mysql : 可自訂container名稱
tag: 自訂要安裝的 MySQL 版本 (mysql version 可以查看這裡)
my-secret-pw: 設定MySQL密碼 (預設使用者帳號為 root)
MYSQL_ROOT_PASSWORD:這個變數可以用來設定root 使用者帳戶的密碼(也就是上面這個 my-secret-pw)
-p:將本機 3306 port 的來源轉發到 container 的 3306 port
指令如下:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d -p 3306:3306 mysql:tag
例如:
docker run --name AdamMysql -e MYSQL_ROOT_PASSWORD=mypassword -d -p 3306:3306 mysql:latest
執行完成後,預設port 為 3306
停止執行 MySQL Container
docker stop some-mysql
例如
docker stop AdamMysql
移除 MySQL Container
docker rm some-mysql
例如
docker rm AdamMysql
從其他 Container 連結到這個 MySQL Container
當執行 run 其他 container 時候,可以透過 container linking 連結到這個 MySQL Container
docker run --name anOtherApp --link some-mysql:mysql -d application-that-uses-mysql
例如:
docker run --name anOtherApp --link AdamMysql:mysql -d application-that-uses-mysql
在 MySQL Container 中執行 bash shell
透過下方指令,就能在你的 MySQL Container 中執行 bash shell
docker exec -it some-mysql bash
例如:
docker exec -it AdamMysql bash
離開 bash
輸入 exit 即可離開 bash
查詢 MySQL Log
docker logs some-mysql
例如:
docker logs AdamMysql
MySQL 主設定檔案位置
/etc/mysql/my.cnf
查看可使用的參數
下方指令可以查詢可使用的 option
docker run -it --rm mysql:tag --verbose --help
如何在 Container 使用 apt-get
進入 MySql bash
docker exec -it some-mysql bash
更新 apt-get
apt-get update
Container 預設無 nano,因此這裡透過 apt-get 安裝 nano
apt-get install nano