點(diǎn)擊關(guān)注強(qiáng)哥,查看更多精彩文章呀
哈嘍楞艾,大家好憔四,我是強(qiáng)哥。
最近強(qiáng)哥在學(xué)習(xí)一個(gè)開源項(xiàng)目蚯涮,由于想要在本地部署項(xiàng)目以便更好的預(yù)研學(xué)習(xí),所以需要進(jìn)行項(xiàng)目的本地環(huán)境搭建。
項(xiàng)目中有用到MySQL和Redis涮帘,可是如果在本地直接安這連個(gè)玩意強(qiáng)哥又覺得很不舒服拼苍,總感覺在機(jī)子上直接安各種各樣的開發(fā)軟件以后會(huì)不好維護(hù)笑诅。剛剛好调缨,自己機(jī)子上安裝了Docker,那為什么不直接把MySQL和Redis安到Docker上呢吆你?
說(shuō)干就干弦叶,這篇文章只是簡(jiǎn)單的記錄下Docker安裝MySQL和Redis的步驟方法,可以說(shuō)是個(gè)備忘錄吧妇多。畢竟搭建環(huán)境還是可能時(shí)不時(shí)要用到的伤哺,自己實(shí)踐好的拿來(lái)就用,比較省時(shí)間者祖。
安裝Mysql
1立莉、查找鏡像
docker search mysql
2、下載鏡像
選擇自己想要的版本七问,然后下載鏡像
docker pull centos/mysql-57-centos7
3蜓耻、創(chuàng)建數(shù)據(jù)卷
docker volume create datavolume
創(chuàng)建一個(gè)數(shù)據(jù)卷,根據(jù)Docker最佳實(shí)踐械巡,容器需要持久化的數(shù)據(jù)都應(yīng)該存儲(chǔ)在數(shù)據(jù)卷上刹淌。
4、通過鏡像創(chuàng)建容器并運(yùn)行:
# 啟動(dòng)容器讥耗,端口映射到3308有勾,掛載之前的數(shù)據(jù)卷
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=926443 \
-v datavolume:/var/lib/mysql \
-p 3306:3306 f83a2938370c
命令解釋:
-
f83a2938370c
為Image ID - -d 是說(shuō)讓我們的容器在后臺(tái)運(yùn)行
- -e 給新創(chuàng)建的數(shù)據(jù)庫(kù)設(shè)置root密碼
- -v 把容器中的/var/lib/mysql映射到剛才創(chuàng)建的數(shù)據(jù)卷上
- -p 3306:3306 把所有對(duì)宿主機(jī)3306端口的tcp報(bào)文轉(zhuǎn)發(fā)到容器的3306端口
5、配置外部連接
容器運(yùn)行起來(lái)后古程,Mysql還不能直接連蔼卡,需要配置權(quán)限、密碼相關(guān)信息挣磨。
//進(jìn)入容器:
docker exec -it 62349aa31687 /bin/bash
//進(jìn)入mysql:
mysql -uroot -p
//授權(quán):
mysql> GRANT ALL ON *.* TO 'root'@'%';
//刷新權(quán)限:
mysql> flush privileges;
//更新加密規(guī)則:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
//更新root用戶密碼:
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
//刷新權(quán)限:
mysql> flush privileges;
配置完上面的信息之后菲宴,就可以直接在外部連接到Docker中的Mysql容器了
安裝Redis
其實(shí)有了上面安裝Mysql的經(jīng)驗(yàn),按差不多的順序安裝Redis就可以了趋急。
1喝峦、查找鏡像
docker search redis
2、下載鏡像
選擇自己想要的版本呜达,然后下載鏡像
docker pull redis
3谣蠢、運(yùn)行Redis容器
docker run --name redis -d -p 6379:6379 5d44f444e409
-
5d44f444e409
為Image ID
4、本地連接
Redis相對(duì)沒有Mysql這么麻煩查近,還要配權(quán)限什么的眉踱。Redis容器啟動(dòng)后,直接外部就可以連啦:
當(dāng)然霜威,./redis-cli
這個(gè)也是要本地有redis的包才行谈喳,可以用Redis-manager測(cè)試連接或者寫一段代碼測(cè)試連接效果一樣哈。
寫在最后
其實(shí)戈泼,這篇文章內(nèi)容相對(duì)來(lái)說(shuō)婿禽,沒有太多的技術(shù)含量赏僧,不過是一篇備忘錄而已。當(dāng)然扭倾,對(duì)于強(qiáng)哥這種有點(diǎn)健忘癥的人來(lái)說(shuō)淀零,記錄收藏一下,還是挺有用的膛壹。
整個(gè)用Docker安裝軟件的流程就大體這樣驾中,比如之后還要用到其他的一些軟件之類的,其實(shí)有Docker真的能方便很多模聋。安裝流程也大體如此肩民,比較簡(jiǎn)單。安裝一次Docker之后链方,便一勞永逸啦此改,比在本機(jī)安裝真的會(huì)方便不少。