Estoy tratando de ejecutar un contenedor docker desde la imagen de Microsoft SQL Server Express ( https://hub.docker.com/r/microsoft/mssql-server-windows-express/ )
Por ejemplo, probé los siguientes comandos (usaré el indicador -d una vez que funcione)
docker run -it -p 1433:1433 -e SA_PASSWORD=Mfp_4871nJUj_1-23H -e ACCEPT_EULA=Y --name to_delete_1 microsoft/mssql-server-windows-express powershell.exe docker run -it -p 1433:1433 -e 'SA_PASSWORD=Mfp_4871nJUj_1-23H' -e 'ACCEPT_EULA=Y' --name to_delete_1 microsoft/mssql-server-windows-express powershell.exe(no es la contraseña real: probé muchas contraseñas ya que una de las sugerencias para corregir el error que veo a continuación es asegurarme de que la contraseña cumpla con la política de contraseñas de Microsoft. Sin embargo, para todas las contraseñas obtengo el mismo error)
También probé sa_password en minúsculas
Sin embargo, cada vez que intento conectarme con la cuenta sa desde dentro del contenedor usando cualquiera de
sqlcmd -U sa -P Mfp_4871nJUj_1-23H sqlcmd -S localhost -U sa -P Mfp_4871nJUj_1-23H sqlcmd -S localhost\sqlexpress -U sa -P Mfp_4871nJUj_1-23H sqlcmd -U sa sqlcmd -S localhost -U sa sqlcmd -S localhost\sqlexpress -U sa(ingresando la contraseña para los últimos 3)
yo obtengo
Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login failed for user 'sa'..Mirando los registros de SQL Server que muestra
2017-03-13 21:25:52.32 Logon Error: 18456, Severity: 14, State: 7. 2017-03-13 21:25:52.32 Logon Login failed for user 'sa'. Reason: An error occurred while evaluating the password. [CLIENT: 172.22.251.6]El consejo principal es asegurarse de que la contraseña cumpla con los criterios de contraseña de SQL Server, pero creo que todas las contraseñas que he probado cumplen.
Ejecuto Docker en Windows 10 Enterprise (compilación 14393.693). Tengo Docker para Windows Versión 17.03.0-ce-win1 (10300).
¿Qué debo hacer para poder conectarme a SQL Server desde dentro del contenedor usando la imagen de Docker de microsoft/mssql-server-windows-express?
Gracias
No sé si alguna vez encontraste la respuesta a esta pregunta. No intenté conectarme a la base de datos desde dentro del contenedor, pero me conecté desde SSMS desde fuera del contenedor. La clave para mí fue especificar la contraseña entre comillas dobles en el comando original. El comando final se veía así:
docker run -d -p 1433:1433 -e sa_password="useComplexPasswordHere" -e ACCEPT_EULA=Y microsoft/mssql-server-windows-expressEntonces pude conectarme a él a través de SSMS. Obtenga la dirección IP del contenedor docker usando:
docker inspectLuego inicie sesión en la base de datos a través de SSMS de esta manera: