步骤
调整 docker 内存大小为4G
下载SQL Server镜像
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 ps -a
sudo docker start dbe02b992333其中dbe02b992333为通过`sudo docker ps -a`查询到的容器 ID
修改 SA(system administrator) 密码 通过 docker exec命令执行 sqlcmd 可以修改 SA 密码。命令如下:
docker exec
sqlcmd
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。命令如下:
docker exec -it
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 TestDBSELECT Name from sys.DatabasesGO
外部访问 SQL Server
安装 sqlcmd,前提已经安装了 nodejs(node 安装请自行搜索)。执行命令:npm install -g sqlcmdjs
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-serversudo docker rm sql-server
参考文献