Docker案例分析:搭建MySQL數(shù)據(jù)庫服務(wù)
使用官方的mysql鏡像搭建數(shù)據(jù)庫服務(wù),目前的latest版本對應(yīng)8.0.19版本,為防止后續(xù)官方更新版本后下面步驟出現(xiàn)兼容性問題,使用鏡像時可指定8.0.19版本。
1 創(chuàng)建配置和數(shù)據(jù)目錄
在本機(jī)創(chuàng)建目錄用于存儲mysql的配置和數(shù)據(jù)。
- 配置文件目錄:
~/docker/conf/mysql - 數(shù)據(jù)文件目錄:
~/docker/data/mysql
docker pull mysql
3 從鏡像內(nèi)復(fù)制配置文件到宿主機(jī)
鏡像內(nèi)部配置文件存放在/etc/mysql目錄下,臨時創(chuàng)建容器復(fù)制配置文件目錄到本機(jī)~/docker/conf/目錄
# 創(chuàng)建名為mysql的容器 docker run --name mysql -e MYSQL_ROOT_PASSWORD=crane -d mysql # 復(fù)制docker容器內(nèi)配置文件到本地~/docker/conf/mysql目錄 docker cp mysql:/etc/mysql /Users/crane/docker/conf/ # 停止并刪除臨時容器 docker stop mysql docker rm mysql
4 創(chuàng)建并運行mysql容器
掛載宿機(jī)配置和數(shù)據(jù)文件目錄到docker容器內(nèi)部,終端執(zhí)行如下命令
# ~/docker/conf/mysql目錄下為mysql配置文件 # ~/docker/data/mysql目錄下為mysql數(shù)據(jù)文件 # 本機(jī)的3306和33060端口分別映射docker內(nèi)部的3306和33060端口 # 數(shù)據(jù)庫root密碼為crane # -d后臺運行docker docker run --name mysql -v ~/docker/conf/mysql:/etc/mysql/conf.d -v ~/docker/data/mysql:/var/lib/mysql -p 3306:3306 -p 33060:33060 -e MYSQL_ROOT_PASSWORD=crane -d mysql
5 宿主機(jī)連接數(shù)據(jù)庫
5.1 終端命令連接
上一步驟容器啟動成功后,在宿主機(jī)終端執(zhí)行以下命令連接數(shù)據(jù)庫
# 輸入以下命令后回車,輸入數(shù)據(jù)庫密碼crane mysql -uroot -p --protocol=tcp

上面命令指定使用tcp連接數(shù)據(jù)庫,如果不添加--protocol=tcp,默認(rèn)會使用socket連接,會報錯如下

5.2 數(shù)據(jù)庫工具連接
也可用數(shù)據(jù)庫工具連接,如DataGrip,進(jìn)行相關(guān)數(shù)據(jù)操作。


6 查看mysql日志
容器正常運行過程中可使用下面命令查看日志
docker logs -f mysql
搭建服務(wù)時使用外部掛載的配置和數(shù)據(jù),便于數(shù)據(jù)備份和遷移。如果在另外一臺主機(jī)上使用相同版本的docker鏡像啟動一個容器,掛載備份的配置和數(shù)據(jù),將會得到完全一致的數(shù)據(jù)庫配置和數(shù)據(jù)。
參考 官方MySQL鏡像
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker完整配置nginx+php+mysql的方法步驟
這篇文章主要介紹了docker完整配置nginx+php+mysql的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
Docker搭建簡單的應(yīng)用棧與容器Hello World訪問詳解
這篇文章主要介紹了Docker搭建簡單的應(yīng)用棧與容器Hello World訪問,結(jié)合實例形式詳細(xì)分析了Docker應(yīng)用容器棧的獲取、互聯(lián)、啟動、配置以及應(yīng)用訪問測試相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
Docker 數(shù)據(jù)管理Named volume詳解
這篇文章主要介紹了Docker 數(shù)據(jù)管理Named volume詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03

