cant connect to sqlserver docker image

1.7k views Asked by At

running the container

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Password_01!" -p 1433:1433 --name sql1 -d microsoft/mssql-server-linux:2017-latest

the container status is UP

trying to connect

docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P Password_01!

or using the docker machine ip insted of localhost

docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd -S 192.168.99.100 -U SA -P 'Password_01!'

i got this error:

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Timeout error [258]. .
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Unable to complete login process due to delay in prelogin response.

this is the container log

$ docker logs sql1
2018-08-17 12:41:55.65 Server      Setup step is copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssql/data/master.mdf'.
2018-08-17 12:41:55.77 Server      Did not find an existing master data file /var/opt/mssql/data/master.mdf, copying the missing default master and other system database files. If you have moved the database location, but not moved the database files, startup may fail. To repair: shutdown SQL Server, move the master database to configured location, and restart.
2018-08-17 12:41:55.78 Server      Setup step is copying system data file 'C:\templatedata\mastlog.ldf' to '/var/opt/mssql/data/mastlog.ldf'.
2018-08-17 12:41:55.81 Server      Setup step is copying system data file 'C:\templatedata\model.mdf' to '/var/opt/mssql/data/model.mdf'.
2018-08-17 12:41:55.91 Server      Setup step is copying system data file 'C:\templatedata\modellog.ldf' to '/var/opt/mssql/data/modellog.ldf'.
2018-08-17 12:41:56.01 Server      Setup step is copying system data file 'C:\templatedata\msdbdata.mdf' to '/var/opt/mssql/data/msdbdata.mdf'.
2018-08-17 12:41:56.17 Server      Setup step is copying system data file 'C:\templatedata\msdblog.ldf' to '/var/opt/mssql/data/msdblog.ldf'.
2018-08-17 12:41:56.26 Server      Microsoft SQL Server 2017 (RTM-CU9-GDR) (KB4293805) - 14.0.3035.2 (X64)
        Jul  6 2018 18:24:36
        Copyright (C) 2017 Microsoft Corporation
        Developer Edition (64-bit) on Linux (Ubuntu 16.04.5 LTS)
2018-08-17 12:41:56.27 Server      UTC adjustment: 0:00
2018-08-17 12:41:56.27 Server      (c) Microsoft Corporation.
2018-08-17 12:41:56.27 Server      All rights reserved.
2018-08-17 12:41:56.27 Server      Server process ID is 4120.
2018-08-17 12:41:56.27 Server      Logging SQL Server messages in file '/var/opt/mssql/log/errorlog'.
2018-08-17 12:41:56.27 Server      Registry startup parameters:
         -d /var/opt/mssql/data/master.mdf
         -l /var/opt/mssql/data/mastlog.ldf
         -e /var/opt/mssql/log/errorlog
2018-08-17 12:41:56.28 Server      SQL Server detected 1 sockets with 1 cores per socket and 1 logical processors per socket, 1 total logical processors; using 1 logical processors based on SQL Server licensing. This is an informational message; no user action is required.
2018-08-17 12:41:56.29 Server      SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
2018-08-17 12:41:56.29 Server      Detected 3160 MB of RAM. This is an informational message; no user action is required.
2018-08-17 12:41:56.30 Server      Using conventional memory in the memory manager.
2018-08-17 12:41:56.70 Server      Buffer pool extension is already disabled. No action is necessary.
2018-08-17 12:41:57.35 Server      InitializeExternalUserGroupSid failed. Implied authentication will be disabled.
2018-08-17 12:41:57.35 Server      Implied authentication manager initialization failed. Implied authentication will be disabled.
2018-08-17 12:41:57.35 Server      Successfully initialized the TLS configuration. Allowed TLS protocol versions are ['1.0 1.1 1.2']. Allowed TLS ciphers are ['ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA'].
2018-08-17 12:41:57.59 Server      The maximum number of dedicated administrator connections for this instance is '1'
2018-08-17 12:41:57.59 Server      Node configuration: node 0: CPU mask: 0x0000000000000001:0 Active CPU mask: 0x0000000000000001:0. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
2018-08-17 12:41:57.72 Server      Using dynamic lock allocation.  Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node.  This is an informational message only.  No user action is required.
2018-08-17 12:41:57.80 Server      In-Memory OLTP initialized on lowend machine.
2018-08-17 12:41:58.09 Server      Database Instant File Initialization: enabled. For security and performance considerations see the topic 'Database Instant File Initialization' in SQL Server Books Online. This is an informational message only. No user action is required.
ForceFlush is enabled for this instance.
2018-08-17 12:41:58.13 Server      Query Store settings initialized with enabled = 1,
2018-08-17 12:41:58.33 spid6s      Starting up database 'master'.
2018-08-17 12:41:58.39 Server      Software Usage Metrics is disabled.
ForceFlush feature is enabled for log durability.
2018-08-17 12:41:58.95 spid6s      The tail of the log for database master is being rewritten to match the new sector size of 4096 bytes.  3072 bytes at offset 418816 in file /var/opt/mssql/data/mastlog.ldf will be written.
2018-08-17 12:42:00.16 spid6s      Converting database 'master' from version 862 to the current version 869.
2018-08-17 12:42:00.16 spid6s      Database 'master' running the upgrade step from version 862 to version 863.
2018-08-17 12:42:00.62 spid6s      Database 'master' running the upgrade step from version 863 to version 864.
2018-08-17 12:42:01.38 spid6s      Database 'master' running the upgrade step from version 864 to version 865.
2018-08-17 12:42:01.76 spid6s      Database 'master' running the upgrade step from version 865 to version 866.
2018-08-17 12:42:02.12 spid6s      Database 'master' running the upgrade step from version 866 to version 867.
2018-08-17 12:42:02.56 spid6s      Database 'master' running the upgrade step from version 867 to version 868.
2018-08-17 12:42:02.97 spid6s      Database 'master' running the upgrade step from version 868 to version 869.
2018-08-17 12:42:05.05 spid6s      Resource governor reconfiguration succeeded.
2018-08-17 12:42:05.06 spid6s      SQL Server Audit is starting the audits. This is an informational message. No user action is required.
2018-08-17 12:42:05.07 spid6s      SQL Server Audit has started the audits. This is an informational message. No user action is required.
2018-08-17 12:42:05.36 spid6s      SQL Trace ID 1 was started by login "sa".
2018-08-17 12:42:05.77 spid20s     Password policy update was successful.
2018-08-17 12:42:06.15 spid6s      Server name is '980bd8d92bc7'. This is an informational message only. No user action is required.
2018-08-17 12:42:06.35 spid23s     Always On: The availability replica manager is starting. This is an informational message only. No user action is required.
2018-08-17 12:42:06.36 spid6s      Starting up database 'msdb'.
2018-08-17 12:42:06.36 spid23s     Always On: The availability replica manager is waiting for the instance of SQL Server to allow client connections. This is an informational message only. No user action is required.
2018-08-17 12:42:06.37 spid9s      Starting up database 'mssqlsystemresource'.
2018-08-17 12:42:06.37 spid9s      The resource database build version is 14.00.3035. This is an informational message only. No user action is required.
2018-08-17 12:42:06.51 spid9s      Starting up database 'model'.
2018-08-17 12:42:06.89 spid6s      The tail of the log for database msdb is being rewritten to match the new sector size of 4096 bytes.  512 bytes at offset 306688 in file /var/opt/mssql/data/MSDBLog.ldf will be written.
2018-08-17 12:42:06.95 spid20s     A self-generated certificate was successfully loaded for encryption.
2018-08-17 12:42:07.08 spid20s     Server is listening on [ 'any' <ipv4> 1433].
2018-08-17 12:42:07.09 Server      Server is listening on [ 127.0.0.1 <ipv4> 1434].
2018-08-17 12:42:07.09 Server      Dedicated admin connection support was established for listening locally on port 1434.
2018-08-17 12:42:07.16 spid20s     SQL Server is now ready for client connections. This is an informational message; no user action is required.

this i the refernece that i followed: https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-2017

1

There are 1 answers

2
oneextrafact On

I've found more success with giving the container a hostname (-h option), then connecting to that hostname, if that's an option for you.