为什么官方 SQL Server Express 容器仅用于开发和测试?

Why is the official SQL Server Express container only meant for development and testing?

它说 here...

Intended use: development and testing only. Not supported in production environments

生产数据库是否应该由容器托管,或者这是关于 Express 版本的建议,无论它是否在容器中?

SQL 容器内服务器(Windows 和 Linux)仍然是一项最新技术,因此它没有像 "normal" SQL 那样经过测试服务器在 Windows。因此它可能包含错误或在 "normal" 版本方面表现不同。 (例如,如果您查看该页面中的评论,您会看到一些人抱怨有关 blob 的问题,这可能不会影响默认 SQL 服务器安装)

此外,如果您查看 "full" SQL 服务器容器 (https://hub.docker.com/r/microsoft/mssql-server-windows/),它也是如此。

所以这个声明应该更多地与这样一个事实有关,即这是一项非常新的技术(因此应该非常谨慎使用/在生产环境中根本不使用) ,而不是它是否是 Express 版本。

关于容器存储,出于 security/accessibility 原因,通常数据库应将其数据存储在卷内,而不是容器内(如果容器由于某种原因变砖,则更容易访问卷内的数据比容器内的数据),甚至性能(因为容器的工作方式,将数据存储在容器外应该有更好的性能)。