问题
Context: I am trying to build a development SQL Server that I can continue to learn SQL on and use Microsoft SQL Server Management Studio (SSMS
) to access on a Windows PC.
So I have the AdventureWorks database sitting on a Docker Container for MS SQL Server 2017 running on a DigitalOcean Ubuntu 16.04 box. From my Mac I can remote SSH in to the server, access the container and query the database.
However I wish to use SSMS on my Windows PC and am unsure how I begin to connect to the remote box. In the picture below, there are no options to specify an SSH key or to even login in to the Ubuntu box, only to access the SQL server.
Is this even possible?
回答1:
connect via SSMS using the public IP address, followed by comma separator and then the port (xxx.xx.xx.xxx,port)
You'll also need the sa credentials to make this work.
回答2:
You can use localhost ip to connect locally. In that case Server Name input will become 127.0.0.1,port#
回答3:
Following instruction of this site solved it for me on Windows Containers: https://www.sqlshack.com/sql-server-with-a-docker-container-on-windows-server-2016/ It was possible to connect to SQL Server instantly from SSMS.
Give it a try if this is also working on Linux containers with this command:
docker run --name mssqltrek-con1 -d -p 1433:1433 -e sa_password=My$eCurePwd123# -e ACCEPT_EULA=Y microsoft/mssql-server-windows-developer
After running this you can retrieve the correct ip with:
docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" mssqltrek-con1
回答4:
In my case it was the Cisco VPN that was blocking the host to connect to container IP. I had to uncheck the "Cisco Any Connect Network Access Manager" as shown in the image below for it to work. It ensures that the VPN no longer manages the connection.
回答5:
I also faced same issue when I try to connect through SSMS, even I tried with localhost,1433 it doesn't help me out. enter image description here
After some R&D I found the way to solve it
- Open Kubernetes which will be installed as part of docker toolbox (mine was win 10 home which will not support hyper-v)
- click on sql container which will be in left side of app
- copy the IP address which will be in right side of app
- use IP address with port like XXX.XXX.XX.XX,1433 along with credentials in SSMS
enter image description here
来源:https://stackoverflow.com/questions/47984603/using-sql-server-management-studio-to-remote-connect-to-docker-container