前階段體驗 Mysql 的新版本 5.7.13,由於機器里已經有 Mysql了,再安裝另一個版本會有一些麻煩,為了簡單,便使用 Docker 容器來安裝
可能有人會認為沒必要,在一台機器安裝多個 Mysql 也沒那么復雜,的確,單純實現這個需求的話沒問題,但其實這是一個普遍性的需求
例如 JDK 出新版本了、Redis 出新版本了、聽說一個新的東西不錯…… 都需要體驗一下,機器數量有限,如果都安裝到一台機器中的話,有很大概率會出現莫名其妙的問題,非常難維護
使用虛擬機可以解決這類問題,但是虛擬機很重,安裝費時,系統資源占用非常多
Docker 容器就是非常好的選擇,可以像虛機那樣完全和宿主機隔離,而且安裝啟動非常快,資源占用少,一台機器中可以運行多個容器
例如,服務器中已經安裝了 Redis 2.8 和 Mysql 5.6,現在想測試一下各自的新版本,就可以在Docker容器中安裝,他們各自獨立,不會互相影響
下面看一下在 Docker 中安裝和使用 Mysql 的方式,為了便於理解,會類比虛機的概念
注:介紹的是整體思路,不是詳細的安裝步驟
(1)安裝 Docker 環境
在 Windows、Linux、Mac 下都有相應的安裝程序
就像在自己的機器中安裝 VirtualBox
(2)獲取一個鏡像
例如從鏡像倉庫獲取一個 Ubuntu 的鏡像
docker pull ubuntu
就像在 VirtualBox 中安裝了一個 ubuntu linux 系統
(3)啟動容器
可以理解為在 VirtualBox 中把 ubuntu 運行起來
為了便於后面在主機中連接容器內的 Mysql,啟動容器時可以指定映射端口,例如主機的 3307端口映射到容器內的3306端口
容器啟動后,就可以進入 ubuntu 的 shell,進行正常操作,例如
[root@8f6f3cad2 /]#
(4)把Mysql安裝包拷貝到容器中
在主機中下載好 Mysql 5.7.13 的安裝包,然后通過 Docker 的拷貝命令將其放到容器內部
(5)在容器中安裝運行 Mysql
在 ubuntu shell 下正常執行 Mysql 的安裝操作,安裝完成后,運行 Mysql
然后添加一個可以遠程訪問的用戶,例如 test,密碼 111111
(6)在主機中連接 Mysql
在主機中使用 Mysql 的客戶端進行連接,連接信息:
Host - 分配給Docker的IP(可通過 Docker命令獲得)
Username - test
Password - 111111
Port - 3307
這樣,一個完全獨立的 Mysql 就安裝完了,這只是 Docker 的一個簡單應用場景,Docker 非常實用,現在的應用范圍已經相當廣泛,以后會介紹更多的用法和案例