docker pull microsoft/mssql-server-linux
使用該命令就能夠把數據庫的docker鏡像下載下來。linux
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服務器,能夠不用端口映射,直接使用宿主模式sql
docker run --name MSSQL_1433 -m 512m -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' --net=host -d microsoft/mssql-server-linux
docker exec -it MSSQL_1433 /bin/bash
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'yourStrong(!)Password'
CREATE DATABASE testDB go
在容器內先建立一個文件夾docker
mkdir /var/opt/mssql/backup
在宿主把.bak備份文件複製到容器數據庫
sudo docker cp /Users/front/Downloads/beifen.bak MSSQL_1433:/var/opt/mssql/backup
運行sqlcmd到邏輯文件名稱和備分內的路徑的列表容器內bash
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