1. 程式人生 > >mssql server for docker on MacOs

mssql server for docker on MacOs

ros 映射 spa dir 文件名 linu 自己 端口映射 back

1. install

1.下載鏡像

docker pull microsoft/mssql-server-linux

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

2.創建並運行容器

docker run --name MSSQL_1433 -m 512m -e ‘ACCEPT_EULA=Y‘ -e ‘SA_PASSWORD=dusf123SQL!‘-p 1433:1433 -d microsoft/mssql-server-linux

這個密碼需要復雜密碼,要有大小寫、數字和特殊符號,替換dusf123SQL!成你自己的密碼就行。如果只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"

Done

mssql server for docker on MacOs