Docker 中的 SQL Server
本 GitHub 仓库旨在为社区参与提供一个集中的位置。在这里,您可以找到文档、Dockerfile 和其他开发者资源。
Docker 中的 SQL Server 有两种不同的版本:
- 基于 Linux 的容器:这个 Docker 镜像在 Ubuntu 16.04 基础镜像上使用 Linux 版 SQL Server 2017 开发者版。它旨在在多个平台上的 Docker Engine 上运行。这里还有用于构建 RHEL 和 CentOS 基础镜像的 Dockerfile。
- 基于 Windows 的容器:这些 Docker 镜像使用 SQL Server 2017 快速版和 SQL Server 2017 开发者版。两种镜像都基于 Windows 容器技术,只能使用 Windows 容器的 Docker Engine 运行。您目前可以在我们的早期采用者预览计划中注册使用 Windows 容器版的 SQL Server 2019。
在选择将 SQL Server 容器用于生产用例之前,请查看我们的 SQL Server 容器支持政策,以确保您在受支持的配置上运行。
SQL Server 命令行工具(sqlcmd,bcp) 也可以作为 Docker 镜像使用。您现在可以使用此镜像作为基础镜像来执行 SQL Server 管理任务,适用于您的 CI/CD 场景。查看 mssql-tools Docker 镜像以开始使用。
访问 Microsoft Docker Hub 页面获取更多信息和其他镜像。
文档
参与我们的调查
通过参与我们的调查,让我们了解您希望如何使用 SQL 容器。
问题
对于仓库的任何问题,请在此 GitHub 项目的问题部分提交。
如果您需要解决生产相关问题的支持,请在此处向 Microsoft 提交支持请求。
还有一个 SQL Server in DevOps 的 Gitter 频道,您可以加入并与其他容器、SQL Server 和 DevOps 爱好者讨论有趣的话题。
故障排除和常见问题
-
"Unknown blob" 错误代码:您可能正在尝试在基于 Linux 的 Docker Engine 上运行基于 Windows 容器的 Docker 镜像。如果您想继续运行基于 Windows 容器的镜像,我们建议阅读以下社区文章:在 Windows 10 上运行 Linux 和 Windows 容器。
-
使用 Windows Docker CLI 时,必须使用双引号而不是单引号来设置环境变量,否则 mssql-server-linux 镜像将找不到启动容器所需的
ACCEPT_EULA
或SA_PASSWORD
变量。 -
'sa' 密码有最低复杂度要求(8 个字符,包含大写、小写、字母数字和/或非字母数字字符)
-
Docker 中 SQL Server 的许可:无论您在哪里运行 - 虚拟机、Docker、物理机、云端、本地 - 许可模式都是相同的,取决于您使用的 SQL Server 版本。快速版和开发者版是免费的。标准版和企业版是收费的。更多信息请参见:https://www.microsoft.com/en-us/sql-server/sql-server-2016-editions
许可
SQL Server 的 Docker 资源文件采用 MIT 许可。有关更多详细信息,请参阅 LICENSE 文件。