天天看點

SQL on Linux Run on Docker摘要背景幾個前提SQL on Linux Run on Docker連接配接Docker容器中的SQL執行個體多執行個體部署總結

sql server 2016以及sql on linux版本已經支援跑在docker容器中,也展示微軟擁抱開源的決心和勇氣。這篇博文就是以sql on linux為例,看看如何将sql server執行個體部署在docker容器中。

這篇文章則是談談如何将sql on linux執行個體部署在docker容器中,包含以下幾個方面内容:

幾個前提

sql on linux run on docker

連接配接docker容器中的sql執行個體

多執行個體部署場景

sql on linux要能夠成功部署到docker容器裡,需要滿足以下三個前提條件。

docker引擎需要1.8以上版本

至少4gb存儲空間

至少4gb記憶體空間:使用以下方法修改:docker icon on menu bar => preferences => advanced => change the memory to 4gb => apply & restart。

SQL on Linux Run on Docker摘要背景幾個前提SQL on Linux Run on Docker連接配接Docker容器中的SQL執行個體多執行個體部署總結

首先,我們使用docker search mssql查找docker hub上的mssql-server-linux鏡像模闆;

接着,我們使用docker pull把這個microsoft/mssql-server-linux鏡像拉到本地;

然後,我們使用docker run指令啟動sql on linux的執行個體,這個過程(相當于sql on linux的安裝)大概不到2秒鐘就完成了。這裡需要注意幾個參數:終端使用者的許可協定y;sa的密碼;docker容器母體機映射的端口1433;sql on linux在docker容器中的端口1433;docker鏡像的名字microsoft/mssql-server-linux。

最後,我們使用docker ps檢視這個docker容器程序資訊。

sql on linux執行個體已經在docker容器中部署完畢,接下來就是如何連接配接到我們的sql server執行個體,這個和我們平時使用ssms連接配接正常sql server執行個體沒有任何兩樣。但需要注意ssms連接配接的server name應該是docker容器母體機的ip和映射到的端口,使用者名為sa,密碼是啟動docker容器時給定的密碼,比如:

SQL on Linux Run on Docker摘要背景幾個前提SQL on Linux Run on Docker連接配接Docker容器中的SQL執行個體多執行個體部署總結

執行以下測試代碼:

執行情況如下:

SQL on Linux Run on Docker摘要背景幾個前提SQL on Linux Run on Docker連接配接Docker容器中的SQL執行個體多執行個體部署總結

由于直接将sql on linux部署在linux系統平台,sql server隻支援一個系統部署一個sql on linux執行個體。那麼,如何将多執行個體的sql on linux部署在一個系統裡面呢?那麼,就是要借助于我們的docker了,我們隻需要在docker母體機上多起幾個sql server模闆的docker容器,映射到母體機不同的端口号上即可。比如,我這裡再部署兩個sql on linux執行個體,分别映射到41433和51433端口上。

在幾秒過後,連接配接到多個執行個體,截圖如下:

SQL on Linux Run on Docker摘要背景幾個前提SQL on Linux Run on Docker連接配接Docker容器中的SQL執行個體多執行個體部署總結

sql on linux運作在docker之上可以在秒級别建立、啟動sql server執行個體,非常的友善快捷;并且還可以突破sql on linux在linux系統隻能夠安裝一個執行個體的限制。這是sql server擁抱開源的嘗試,也是微軟開源政策的全新嘗試。