昨天稍微提到我們的測試再跑測試時,掛載DatabaseTransactions
的Trait時會噴錯誤,為了解決這問題,我們就趁這機會也來學習一下什麼是Docker吧!
有了些基本認知後來做點什麼吧!
首先先安裝好你的Docker
接下來請先pull mysql
docker pull mysql
先照著官方範例輸入
docker run --name <你要起的容器名字> -e MYSQL_ROOT_PASSWORD=<你的資料庫密碼> -d -p <本基的port>:<容器的port> mysql:latest
如果你本身就有在跑MySQL的話會發現他打架了,會跳出下列的訊息
test@ubuntu:~$ docker run --name docker-mysql -e MYSQL_ROOT_PASSWORD=password -d -p 3306:3306 mysql:latest
7837dd340a874076234b8d4b0ae71e02cfaa67464fb2dc7cee863ae00ad78209
docker: Error response from daemon: driver failed programming external connectivity on endpoint docker-mysql (5a4cbcfda178ebbe5eb2f409213beb7d90107c18eb305b2867f48ea34245a432): Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use.
這時候請先把你原本的MySQL給stop即可
sudo /etc/init.d/mysql stop
當你順利看到下圖後,就可以往下一步邁進!
試著輸入
docker exec -it <你起的容器名字> bash
你就會發現你進到了你起的容器裡面了!可以試著把它想成是一個很小的虛擬機,裡面跑著MySQL的服務!
所以你也可以在裡面下
mysql -uroot -p
接著輸入你剛剛在起容器時輸入的密碼
沒錯!你就順利進入了你創的小宇宙裡面的MySQL!
是否很神奇呢!
題外話!
深入了解之後發現Docker真的是很大一個坑,要學習要看的東西有太多了,
感覺會花很多的時間在瞭解它,希望接下來的進度可以順利學習啊~