我尝试在docker,linux上使用sql server。我这样启动容器:
docker run -d -p 1433:1433 -e sa_password="12345qwerASDF" -e ACCEPT_EULA=Y --name sql-server --hostname sql-server microsoft/mssql-server-linux:2017-latest
当我尝试连接时,我得到的只是“用户'sa'登录失败”
尝试使用不同的密码,带有或不带有双引号和单引号...
答案 0 :(得分:1)
最后我让它起作用了
docker run --name sqlserver --hostname sqlserver -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=1StrongPwd!!" -p 1433:1433 -d microsoft/mssql-server-linux:2017-latest
我猜应该是MSSQL_SA_PASSWORD而不是SA_PASSWORD
该部分的文档不清楚...
答案 1 :(得分:0)
尝试一下:
docker run -e "ACCEPT_EULA=Y" -e "sa_password=12345qwerASDF" -p 1433:1433 --name sql-server --hostname sql-server -d microsoft/mssql-server-linux:2017-latest
重要说明:如果要在Windows上使用PowerShell运行这些 命令使用双引号而不是单引号。
答案 2 :(得分:0)
您的密码12345qwerASDF
不符合complexity requirements。尝试添加非字母数字字符,例如感叹号(!
)。
要检查错误,请运行:docker logs ID
(其中ID
是docker ps
的容器ID)。
答案 3 :(得分:0)
对于docker-compose文件 我遇到sa用户登录失败的问题,我通过添加来解决它 取决于: -db
这是我的docker-compose文件的完整版本
version: '3.1'
services:
colour-api:
build: .
environment:
DBServer: "ms-sql-server"
ports:
- "8080:80"
depends_on:
- ms-sql-server
ms-sql-server:
image: mcr.microsoft.com/mssql/server
environment:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "Pa55w0rd2019"
ports:
- "1444:1433"
点击此链接以获取更多详细信息