【轉載】Docker助你攻克數據庫難題,原來數據庫還可以這麼操作!(附實操教程)
寫在前麵
Microsoft SQL Server 2017首次應用於Windows、Linux 和Docker 容器中。如今在容器中,您的數據庫隻需要花費很短的時間就可以完成安裝並且不再需要其它的安裝環境,使用Docker 企業版(EE)會讓你的數據庫交付變得更具現代化。多年來IT人員和開發人員一直享受Docker 和容器化APP所帶來的這種速度和效率的優勢,現在,DBAs也可以體驗到這種快感了。
開啟挑戰
嚐試登錄**Docker SQL Server lab**(實操教程鏈接:https://github.com/docker/labs/tree/master/windows/sql-server),見證如何在幾秒鍾內打開數據庫容器並且學習如何把您的數據庫對象製作成Docker 鏡像吧!
如果您曾安裝過一次SQL Server,那麼你就一定明白為什麼要說這是一件不可小覷的事了:SQL Server 需要一段時間進行設置,而且在同一主機上想要運行多個獨立的SQL Server實例並不簡單,這會使**開發人員、測試人員和CI / CD係統的維護變得非常複雜**,其中進行測試和試驗都有可能破壞SQL Server實例。
現在,隻要在Docker容器中使用SQL Server,那麼上述的難題就能迎刃而解了。**獲取SQL Server就像運行“ docker image pull ”命令一樣簡單**,您可以根據需要在同一主機上啟動多個SQL Server實例,並且保證每一個都是獨立、純淨的實例,當您使用完一個實例後可以對它隨意處置,因為它不會影響到其他的SQL Server實例。
數據庫引擎同其他服務器端應用程序一樣:它們也在使用CPU和內存的進程中運行,將狀態存儲到硬盤,並通過網絡為客戶端提供服務。在容器中所有運作原理都是一樣的,但是您也可以通過**限製資源、用Volume插件管理狀態和限製網絡訪問**的手段來獲取符合您需要的理想環境。
許多Docker客戶已經在使用像Postgres這樣的技術了,在容器中運行高可用性的生產數據庫。現在,您可以通過Docker 企業版(EE)來使數據庫變的更具有可移植性,安全性和高效性。
用Docker讓你的數據庫交付變得更具現代化
傳統的數據庫交付很難適應現代的CI / CD流水線,但Docker卻讓它變得非常容易。您可以使用Microsoft’s SQL Server 的 Docker鏡像,並通過自動化程序把您自己的數據庫對象打包在鏡像的頂層。這樣,所有人都能通過啟動一個容器來運行任何版本的數據庫對象了——他們甚至不需要在其機器上安裝SQL Server。
下圖是用Docker來實現數據庫交付的工作流程圖:
- DBA將數據庫對象更改後推送到源代碼控製中;
- CI流程根據Microsoft發布的SQL Server基礎鏡像將數據庫對象打包到一個Docker鏡像中;
- CI流程使用從新鏡像中創建的一個一次性的數據庫容器運行測試套件;
- CD流程將測試環境中持續運行的數據庫容器升級到新的鏡像中;
- CD流程運行一個用於升級生產數據庫的數據庫容器,應用Diff腳本將Schema與新的鏡像進行對齊;
打包、測試、分發和升級的整套流程都可以通過Docker來實現自動化部署。您可以在開發和測試環境中運行數據庫容器,這些環境是高速的、獨立的,並且具有完全相同的數據庫對象版本。您可以繼續使用您現有的生產數據庫,但要使用測試的Docker鏡像將更新部署到生產環境中。
支持與下載
Docker 企業版(EE)是一個支持 Linux 在生產環節中運行 SQL Server 的平台。**SQL Server for Linux是一個經過認證的容器鏡像,這意味著您可以從Microsoft和Docker處獲取解決問題的支持。**
在Windows Server和Windows 10上,您可以使用Docker在容器中運行SQL Server Express,從而讓現有SQL Server部署的數據庫交付過程變得更具現代化,並不需要您更改生產環境中的基礎設施。
全新的SQL容器將於10月份在Docker Store中供您下載。目前,來自Docker Hub的SQL Server Preview版本已經有超過**100萬次**的下載量。
最後更新:2017-10-27 23:03:36