作為后端開發(fā),經(jīng)常要和數(shù)據(jù)庫打交道,尤其是Mysql,以前的方式是在本機裝個Mysql用于本地調(diào)試,但有了docker以后就不需要再去繁瑣的安裝Mysql啦(雖然安裝Mysql也不是很麻煩),直接在docker中啟一個Mysql鏡像就可以了。
下面介紹下在mac下啟動一個mysql鏡像。
安裝docker
這個不多說,直接到官網(wǎng)下載對應的版本安裝即可,在配置docker時最好切換阿里云鏡像,具體步驟不細說,可參考之前的文章 .net core開發(fā)環(huán)境搭建中有提到如何配置docker。
配置mysql鏡像容器
首先通過命令獲取mysql鏡像:
docker pull mysql

待鏡像安裝完之后,可以通過下面命令查看:
docker images

接著我們啟動一個mysql鏡像的容器,輸入下面的命令:
docker run -itd -P mysql bash
- docker run : 啟動一個容器
- -itd:i是交互式操作,t是一個終端,d指的是在后臺運行
- -P 指在本地生成一個隨機端口,用來映射mysql的3306端口
- mysql:剛才下的mysql鏡像名
- bash:指創(chuàng)建一個交互式shell
然后我們查看已經(jīng)運行的鏡像:
docker ps -a

從截圖我們可以看到隨機分配的端口為32768,如果你要通過workbench訪問時輸入127.0.0.1:32768進行訪問。
然后我們進入容器:
docker exec -it distracted_hodgkin bash
- docker exec : docker鏡像的連接命令
- distracted_hodgkin:是你的鏡像名稱
這樣我們就進入到了鏡像當中了,我們來看下mysql的啟動狀態(tài):
service mysql status
如果發(fā)現(xiàn)mysql未啟動,可以動過命令進行啟動:
service mysql start

到這里,docker中的mysql已經(jīng)啟動完成。
配置Mysql
首先我們先將賬號root的密碼修改下:
update user set authentication_string ='123456' where user = 'root';
接下來由于mysql默認root是默認綁定在localhost上的,權(quán)限不夠,所以修改下對應的root權(quán)限:
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
到這里,我們可以通過workbench或其他訪問mysql了:

其他
如果需要停止/啟動你的容器:
docker stop distracted_hodgkin
docker start distracted_hodgkin
由于之前啟動時是自定義的端口,每次容器啟動時端口就會變化,所以最好映射一個指定端口:
首先提交運行中的容器為一個鏡像(這樣不會丟失在容器的各種操作)
docker commit distracted_hodgkin mysql_test
- distracted_hodgkin: 運行中的容器名
- mysql_test:生成的鏡像名詞
然后運行鏡像并指定對應的端口:
docker run -d -it -p 13306:3306 mysql_test:latest /bin/bash
這樣以后可以使用最新生成的容器,端口就不會變了,或者你可以刪除掉你的容器,在創(chuàng)建容器時就指定端口(上面的步驟重新來一遍)
docker rm distracted_hodgkin
總結(jié)
有了docker對于開發(fā)來說還是方便很多的,自己的電腦可以少安裝的點軟件啦。