在docker中下载了mssql/server如图,运行也成功了
但是使用VS连接的时候报错了,这是什么情况?我在本地也有一个2008R2版本的sqlserver,是不是起冲突
使用sqlserver的内置客户端可以直接测试下
具体的步骤参考如下的说明
docker run -itd --name mssql -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Mssql123!" -p 14330:1433 mcr.microsoft.com/mssql/server
指定HOST机器的14330端口服务,服务启动后可以看到的信息
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a637510ae80a mcr.microsoft.com/mssql/server "/opt/mssql/bin/perm…" 12 minutes ago Up 12 minutes 0.0.0.0:14330->1433/tcp mssql
可以看到如下的进程
$ sudo netstat -natp|grep 14330
tcp6 0 0 :::14330 :::* LISTEN 18538/docker-proxy
https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017
https://packages.microsoft.com/rhel/7.3/prod/mssql-tools-17.6.1.1-1.x86_64.rpm
https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/mssql-tools/
https://packages.microsoft.com/ubuntu/16.04/prod/pool/main/m/msodbcsql17/
连接客户端输出如下信息就表示正常了
$ /opt/mssql-tools/bin/sqlcmd -U sa -P 'Mssql123!' -S localhost,14330 -V 25 -Q "select name from sys.databases; SELECT @@VERSION; "
name
--------------------
master
tempdb
model
msdb
(4 rows affected)
------------------------------------
Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64)
Sep 23 2020 16:03:08
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64>
(1 rows affected)
感谢!
启动docker的时候,把映射端口改下 1433:1444 ,这样试试呢
本地连接docker上mysql的时候用1444端口
嗯,我试了,但是问题变成了远程计算机拒绝网络连接,是防火墙没开吗
@godcloudy: 不是防火墙, 是sqlserver不允许远程访问,docker 上的sqlserver 相当于另外的一台电脑,你是远程连接到它的sqlserver, 百度上有,你可以查一下,开启sqlserver 远程连接
@百鸟朝凤:查到的只有在本地sqlserver管理工具配置,没有搜到有关解决远程连接docker中的sqlserver.....难受
@godcloudy: 这个我还真不知道,我猜测应该是你登录进 docker里面,用本地登录,然后用命令的方法开启远程,具体这个命令是啥,我就不知道了
刚才写错了,不是mysql,是sqlserver
– 百鸟朝凤 3年前