MS SQL Server Docker数据位置

问题描述

我正在使用mcr.microsoft.com/mssql/server:2019-latest容器,并希望挂载其数据目录,以便在服务器宕机时不会丢失数据。

数据目录位于何处?该文档根本没有提到这一点。

解决方法

对于Linux上的SQL Server,这些文件默认位于/var/opt/mssql中。毫无疑问,数据文件位于data目录中,日志文件位于log目录中。

这也位于文档Change the default data or log directory location中:

filelocation.defaultdatadir和filelocation.defaultlogdir设置更改了创建新数据库和日志文件的位置。默认情况下,此位置为/ var / opt / mssql / data。

,

取决于OS平台以及是否已安装持久性存储

如果是Linux,则根据@Larnu答案。

对于Windows,它仍然是C:\Program Files\Microsoft SQL Server...

但是,在两种情况下,数据都具有容器的生命周期。重新启动容器后,所有更改都将消失。

对于已装入的卷,位置将由卷确定,并且数据是持久的,因此它可以在容器重启后幸存下来