mssql server for docker on MacOs
阿新 • • 發佈:2019-03-24
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