不知为何之前docker安装sql server运行一会就会自动退出了,参照这篇博客的好像就不会了
转自:https://www.jianshu.com/p/f57297abf820
步骤
- 调整 docker 内存大小为4G
下载
SQL Server
镜像1
2sudo docker pull microsoft/mssql-server-linux:2017-latest
启动
SQL Server
容器,命令如下:1
2
3
4
5
6sudo 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 则执行成功。
重启容器命令为:1
2
3
4sudo docker start dbe02b992333
其中dbe02b992333为通过`sudo docker ps -a`查询到的容器 ID修改 SA(system administrator) 密码
通过docker exec
命令执行sqlcmd
可以修改 SA 密码。命令如下:1
2
3
4sudo 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。命令如下:1
sudo docker exec -it sql-server "bash"
其中sql-server的值就是创建容器时命名的值
进入容器之后,可以通过 sqlcmd 连接上本地的 SQL Server。命令如下:1
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'qazWSX123'
如果出现
>
提示符,则表示登录成功。
执行操作:1
2
3CREATE DATABASE TestDB
SELECT Name from sys.Databases
GO外部访问 SQL Server
- 安装 sqlcmd,前提已经安装了 nodejs(node 安装请自行搜索)。执行命令:
npm install -g sqlcmdjs
- 执行查询命令返回正确的值,表明查询成功。
1
2sqlcmd -s 127.0.0.1 -o 1401 -u SA -p "qazWSX123" "select name, database_id from sys.databases"
- 删除容器,命令如下:
1
2
3sudo docker stop sql-server
sudo docker rm sql-server - 正常运行
10.外部管理工具连接,注意IP和端口间用,分开
参考文献
- Run the SQL Server 2017 container image with Docker 作者:浮梁翁
链接:https://www.jianshu.com/p/f57297abf820
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。