步骤
调整 docker 内存大小为4G
下载
SQL Server
镜像sudo docker pull microsoft/mssql-server-linux:2017-latest
启动
SQL Server
容器,命令如下:sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Asdfgh123' \ -p 1401:1433 --name sql-server \ -d microsoft/mssql-server-linux:2017-latest 具体参数意义,请参看微软文档。(MSSQL_SA_PASSWORD为初始密码,可以自己修改)
查看
SQL Server
容器是否启动成功:
sudo docker ps -a
,status 字段为 up 则执行成功。
重启容器命令为:sudo docker start dbe02b992333 其中dbe02b992333为通过`sudo docker ps -a`查询到的容器 ID
修改 SA(system administrator) 密码
通过docker exec
命令执行sqlcmd
可以修改 SA 密码。命令如下:sudo docker exec -it sql-server /opt/mssql-tools/bin/sqlcmd \ -S localhost -U SA -P 'Asdfgh123' \ -Q 'ALTER LOGIN SA WITH PASSWORD="qazWSX123"'
连接数据库,通过 sql-server 命令行工具
sqlcmd
,在容器内部连接到 SQL Server
通过docker exec -it
命令打开运行中容器的交互 shell。命令如下:sudo docker exec -it sql-server "bash"
其中sql-server的值就是创建容器时命名的值
进入容器之后,可以通过 sqlcmd 连接上本地的 SQL Server。命令如下:/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'qazWSX123'
如果出现
>
提示符,则表示登录成功。
执行操作:CREATE DATABASE TestDB SELECT Name from sys.Databases GO
外部访问 SQL Server
安装 sqlcmd,前提已经安装了 nodejs(node 安装请自行搜索)。执行命令:
npm install -g sqlcmdjs
执行查询命令
sqlcmd -s 127.0.0.1 -o 1401 -u SA -p "qazWSX123" "select name, database_id from sys.databases"
返回正确的值,表明查询成功。
删除容器,命令如下:
sudo docker stop sql-server sudo docker rm sql-server
参考文献