當前位置:
首頁 > 最新 > 通過 Docker 實現在 Linux 容器中運行 Microsoft SQL Server 資料庫

通過 Docker 實現在 Linux 容器中運行 Microsoft SQL Server 資料庫

出品丨Docker公司(ID:docker-cn)

編譯丨小東

每周一、三、五晚6點10分 與您不見不散

說在前面

今天我將繼續為大家帶來有關Docker 的系列教程,這篇文章主要是幫助大家了解如何在Linux容器中使用Microsoft SQL Server (PS:這個教程簡單易懂,一學即會)。一旦您完成了整個教程,您就可以從docker容器外部(我將為您演示使用PowerShell、SQL Server Management Studio(SSMS)和LINQPad三種方式)對您的資料庫運行一個簡單的查詢。

背 景

最近我買了一台普通的筆記本電腦,它並沒有很強大的性能(這次我將重點放在了便攜性和電池的壽命上)。由於這樣那樣的原因,我覺得這是一個很好的機會,讓我可以花更多的時間來關注Docker ,而不是像以往那樣拚命的往電腦中安裝各種軟體。

我認為使用Docker 的好處之一就是軟體開發人員可以在Docker 中進行合理的設置,他們可以省去原先在本地安裝的所有麻煩從而輕鬆地得到一個本地的SQL Server實例。由於我使用的是Windows 系統的筆記本電腦,所以我選擇了Docker for Windows 。但是實際上Docker 是可以跨平台使用的,所以如果您使用的是Mac或Linux機器,您仍然可以遵循這篇教程,這是不是很棒呢!

前期準備

如果您尚未安裝Docker,那麼您可以參考之前的文章,我就不在這裡贅述了,如果您遇到任何問題,都可以在文尾處留言,我會在第一時間幫您解答。

啟動Docker ,您需要從Docker Hub中下載最新的MS SQL Server鏡像。

現在打開PowerShell窗口(Win+X或I,不需要管理員模式)來進行以下步驟:

首先,我們需要輸入以下命令來下載鏡像(解壓完成後大約1.35GB)。

docker pull microsoft/mssql-server-linux:2017-latest

然後我們可以運行「docker images」來進行確認。

運行容器

接下來,您需要運行它。為此,您需要接受許可協議,並為管理員帳戶指定一個安全的密碼。如果您想要開發者版本以外的東西,那麼您也可以指定PID。還有很多其他的環境變數供您進行設置,您可以參考https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-configure-environment-variables(例如您可以通過MSSQL_TCP_PORT = nnnn來更改內部的1433埠)

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Str0ngPassword!" -p 1401:1433 -d --name=tomssl_sql microsoft/mssql-server-linux:latest

注意:在Linux上連接到MS SQL時,您必須連接用戶名和密碼。您不能使用Windows身份驗證進行連接。

關於埠映射的注意

埠映射是通過「-p host port:container port」進行指定的。

因此「-p 1401:1433」意味著主機(我的筆記本電腦)上的1401埠會映射到容器中的1433埠。如果您以前曾經使用過MS SQL Server,那麼您可能知道它會默認監聽這個1433埠。這意味著,我從容器外部創建的任何連接字元串都需要包含1401埠。

一、通過PowerShell進行查詢

現在我們的容器已經在運行中了,接下來讓我們運行一個簡單的查詢來檢驗一下我們的成果。在您的PowerShell窗口中,輸入以下命令來運行互動式的slqcmd工具(從您的鏡像中)。

docker exec -it tomssl_sql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa

如圖所示,進入Str0ngPassword後!輸入以下兩條命令:

1> SELECT @@VERSION

這時,該圖顯示鏡像正在運行,然後您就可以運行查詢了。

現在就讓我們離開鏡像運行界面,通過嘗試其他幾種方式來進行查詢。

二、使用SSMS 2017進行查詢


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Docker公司 的精彩文章:

TAG:Docker公司 |