首页 > 解决方案 > 尝试在 Docker for Mac 上运行 SQL Server:找不到事件

问题描述

我不知道我做错了什么。曾多次尝试在 Docker 中运行 SQL Server,但均未成功。这是我终端中最后一次尝试的文本副本:

Jennifers-MacBook-Pro:~ ziema26$ sudo docker pull microsoft/mssql-server-linux 密码:使用默认标签:latest 最新:从 microsoft/mssql-server-linux 提取 摘要:sha256:6c4a13ade5778251bfba648c21fa7968f02aa5b86a7d8b66be710faf8626b38f 状态:图像是最新的microsoft/mssql-server-linux:最新的 Jennifers-MacBook-Pro:~ ziema26$

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<password>" -p   1433:1433 --name mydb2 -d microsoft/mssql-server-linux

-bash: !: 未找到事件

标签: sql-servermacosdockerdocker-for-mac

解决方案


在 mssql-server-linux Dockerhub 页面上的示例中,它建议使用强密码...与示例yourStrong(!)Password。如果您尝试连接到您的容器,并传入特殊字符(如(、!或)),您将遇到问题。具体来说 !是 bash 中的一个特殊字符,它指的是导致您收到该错误的前一个命令,-bash: !: event not found

您需要转义这些字符,例如docker exec -it mssql-container-name /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P yourStrong\(\!\)Password或使用单引号。


推荐阅读