我创建了一个Docker容器:
sudo docker pull microsoft/mssql-server-linux:2017-latest
然后我运行它:
sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=root' -p 1401:1433
--name sqlserver1 -d microsoft/mssql-server-linux:2017-latest
我跑了:
docker start sqlserver1
大约3秒钟后,docker ps
返回空-让我觉得容器已关闭。
我是Docker的新手-这真的会自动关闭吗?如果是这样,我该如何防止?
答案 0 :(得分:1)
我试了一下,看来您的问题不是Docker问题……这仅仅是MSSQL问题。如果您查看容器的日志,则会看到:
ERROR: Unable to set system administrator password: Password validation failed.
The password does not meet SQL Server password policy requirements because it is
too short. The password must be at least 8 characters.
MSSQL似乎执行了密码复杂性要求,其中包括字符类的长度和数量。以下似乎可以正常工作:
docker run -it -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=r00t.R00T' -p 1401:1433 --name sqlserver1 microsoft/mssql-server-linux:2017-latest