我正在尝试在我的MAC上部署一个MS SQL服务器。有几个替代方案。
在这里,我使用的是Docker:我检查了MS-SQL website,并执行了以下代码:
docker run -e
'ACCEPT_EULA=Y'
-e 'SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433
-d microsoft/mssql-server-linux
但是,集装箱总是自己停下来,我错过了什么吗?
我正在使用的Docker版本:Version 1.13.0 (15072)
4条答案
按热度按时间bqucvtff1#
我也遇到过类似的问题,最后我意识到我在本地开发时使用了一个不符合SQL Server's password policy的假密码,我使用了一个更复杂的密码,这样就解决了这个问题。
8mmmxcuj2#
我最近在Windows上遇到了这个问题。将“引号”改为“修复了这个问题。
ej83mcc03#
在Mac上运行时,您需要增加Docker for Mac的RAM。SQL Server需要至少4GB RAM,Docker for Mac默认情况下只为所有容器分配约1-2GB。
要增加Docker for Mac的RAM:
在启动容器时,您还需要为它分配4GB:
要确认已应用内存限制,请运行:
docker stats
。SQL Server容器的MEM USAGE / LIMIT
列应具有类似于以下内容的输出:536.7MiB / 4GiB
在Mac上需要注意的另一件事是,您无法挂载卷,这将导致问题。
hgb9j2n64#
如果您使用的是MacOS Ventura和/或带有M1/M2(Apple Silicon)芯片的Mac,则需要启用Rosetta Emulation才能正常工作。
转到Docker〉设置〉开发中的功能,启用选项
'Use Rosetta for x86/amd64' emulation on Apple Silicon'
并重新启动Docker。此外,请确保密码符合Microsoft设置的密码策略,并创建一个强密码。
删除容器并重新运行docker run命令。示例如下:
这应该可以让您运行容器而不会出现Exited(1)错误。
此链接解释了详细信息:
https://devblogs.microsoft.com/azure-sql/development-with-sql-in-containers-on-macos/