Docker 安裝 MySQL、phpMyAdmin、Redis

Jeff Hsieh
3 min readNov 22, 2018

--

工作上使用的 Spring Boot 需要透過 Lettuce 和 MyBatis 去連 Redis 和做 ORM,為了要測試連線是否連得上,所以就簡單用 Docker 來建個測試用的 Redis 和 MySQL

Redis

首先用Redis,先從 Docker 上面 pull image

docker pull redis

完成以後 run 起來

docker run --name some-redis -d redis redis-server --appendonly yes 

redis-server 指令會讓 container 起來以後直接跑 Redis server

--appendonly yes 代表啟用 Redis 持久化,如果 Redis 掛了會從持久化的檔案去把資料重建起來,詳細可以看這篇,對測試用server來說可有可無,加減放一下XD

run 完以後就進去container裡面看看成果

docker exec -it some-redis redis-cli

輸入 ping,看到 pong 就代表 Redis OK 啦

打乒乓囉

然後就可以開始操作了,詳細就不多說

MySQL

一樣先從 Docker 抓 image

docker pull mysql

抓完以後 run

docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql

其中-e MYSQL_ROOT_PASSWORD=123456 是用來設定 root 密碼

跑完以後進入 container

docker exec -it mysql bash

然後使用 mysql 指令開始操作

mysql -u root -p

打完密碼後就可以開始使用

進入MySql

phpMyAdmin

雖然成功把 MySQL建起來了,但是直接操作 command line 還是有點難用,所以就來裝個 phpMyAdmin 來方便操作,一樣先拉 image

docker pull phpmyadmin/phpmyadmin

pull 的 image 名稱和 MySQL 與 Redis 不太一樣,因為它沒有官方的 image,可以用 docker search phpmysql 找 image 來用,星星最多的就這個,不然也可以挑自己喜歡的 image

接下來就跟大便遇到地震一樣,拉完以後跑起來(?)

docker run -d --name myadmin --link mysql -p 9100:80 phpmyadmin/phpmyadmin

其中 --link mysql 用來連到剛剛的 MySQL container,port 可以自己換

跑起來以後到 localhost:9100 就可以看到 phpMyAdmin 啦

網路上看到似乎有些人會遇到沒辦法 link 的狀況,解決方式可以看這篇,我自己跑起來是很順利沒遇到問題

DB 建起來以後再來就是要用 Spring Boot 去連線了,之後再寫XD

有了 Docker 以後,要測試點小東西就不用在本機裝各種有的沒的,對於有環境潔癖的我來說非常好用啊~

--

--

Jeff Hsieh
Jeff Hsieh

Written by Jeff Hsieh

資深後端工程師,熟悉JAVA與現代網頁後端技術與框架,並具備金融市場交易知識

No responses yet