在Docker上安裝MSSQL(SQL Server)


在轉移到Mac OS X 陣營之后,如果想在本機上安裝微軟的mssql-server數據庫有三種方式:

  • 第一種是在本機上安裝MSSQL for Linux 版本。
  • 第二種是安裝Windows虛擬機,然后在虛擬機里面使用ISO文件進行安裝。
  • 第三種也就是我要講的方式,就是使用Docker進行安裝。

第一種方式和第二種方式缺點就是要自己找安裝包,第三種方式直接通過Docker的命令docker search mssql就能搜索出來,然后拉取創建容器即可。

微軟也提供了相應的幫助文檔
圖片描述

鏡像是微軟官方的,但docker hub 奇怪的是並沒有把其標示為OFFICIAL。

1.下載鏡像

docker pull microsoft/mssql-server-linux

使用該命令就可以把數據庫的docker鏡像下載下來。

2.創建並運行容器

docker run --name MSSQL_1433 -m 512m -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux

這個密碼需要復雜密碼,要有大小寫和特殊符號,替換yourStrong(!)Password成你自己的密碼就行。如果只Linux服務器,可以不用端口映射,直接使用宿主模式

docker run --name MSSQL_1433 -m 512m -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' --net=host -d microsoft/mssql-server-linux

3.登入容器

docker exec -it MSSQL_1433 /bin/bash

4.連接到sqlcmd

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'yourStrong(!)Password'

5.執行SQL語句創建數據庫

CREATE DATABASE testDB go

如果只想創建數據庫,已經可以完成了,用Navicat Premium就可以連接到數據庫了。

6.還原數據庫

在容器內先創建一個文件夾

mkdir /var/opt/mssql/backup

在宿主把.bak備份文件復制到容器

sudo docker cp /Users/front/Downloads/beifen.bak MSSQL_1433:/var/opt/mssql/backup

運行sqlcmd到邏輯文件名稱和備份內的路徑的列表容器內

sudo docker exec -it MSSQL_1433 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'yourStrong(!)Password' -Q 'RESTORE FILELISTONLY FROM DISK = "/var/opt/mssql/backup/beifen.bak"' | tr -s ' ' | cut -d ' ' -f 1-2

運行結果

LogicalName PhysicalName ---------------------------------- beifen D:\Program beifen_log D:\Program

還原數據庫

sudo docker exec -it MSSQL_1433 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'yourStrong(!)Password' -Q 'RESTORE DATABASE 數據庫名 FROM DISK = "/var/opt/mssql/backup/beifen.bak" WITH MOVE "beifen" TO "/var/opt/mssql/data/beifen.mdf", MOVE "beifen_Log" TO "/var/opt/mssql/data/beifen.ldf"'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM