1. 搜索并下载镜像
~$docker search mssql
可以看到microsoft下面mssql的不同平台的版本:
pengjunzhe: ~$docker search mssql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
microsoft/mssql-server-linux Deprecated SQL Server on Linux Container Rep… 1132
microsoft/mssql-server-windows-developer Official Microsoft SQL Server Developer Edit… 326
microsoft/mssql-server-windows-express Official Microsoft SQL Server Express Editio… 308
microsoft/mssql-tools Official images for Microsoft SQL Server Com… 51
rsmoorthy/mssql MSSQL Database (version SQL2000) 12 [OK]
...
那我们pull到本地
pengjunzhe: ~$docker pull microsoft/mssql-server-linux
Using default tag: latest
latest: Pulling from microsoft/mssql-server-linux
59ab41dd721a: Pull complete
57da90bec92c: Pull complete
06fe57530625: Pull complete
5a6315cba1ff: Pull complete
739f58768b3f: Pull complete
0b751601bca3: Pull complete
bcf04a22644a: Pull complete
6b5009e4f470: Pull complete
a9dca2f6722a: Pull complete
Digest: sha256:9b700672670bb3db4b212e8aef841ca79eb2fce7d5975a5ce35b7129a9b90ec0
Status: Downloaded newer image for microsoft/mssql-server-linux:latest
2.创建并运行容器
密码要用强密码;1433映射到1433.
pengjunzhe: ~$docker run --name MSSQL_1433 -m 512m -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Qwe!@#123' -p 1433:1433 -d microsoft/mssql-server-linux
f310ca4f0e7f6a9d98582c1c660dfd0d31c092ced96a727f38e528952fdc13d1
3. 登入容器
pengjunzhe: ~$docker exec -it MSSQL_1433 /bin/bash
root@f310ca4f0e7f:/#
4. 连接到sqlcmd
root@f310ca4f0e7f:/# /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Qwe!@#123'
1>
5. navicat 等登录并恢复数据库
遇到问题有:
- sqlserver导出的sql文件有0x00导致的导入异常
- mysql中的自增字段需要重新设定
网友评论