Symptoms
Assume that you run a SQL Server 2017 Linux container image on Docker for Windows. When Docker images are used to provision containers and you use volume mount location (default location of /var/opt/mssql) or any parent directory, SQL Server will not start. Additionally, you receive an error message that resembles the following:
date time spid6s Error: 17053, Severity: 16, State: 1.date time spid6s /var/opt/mssql/data/mastlog.ldf: Operating system error 31(A device attached to the system is not functioning.) encountered.date time spid6s Error: 9002, Severity: 17, State: 0.date time spid6s The transaction log for database 'master' is full because of 'NOTHING'.date time spid6s Error: 928, Severity: 20, State: 1.
Cause
This issue occurs because the directory from Windows is mounted as Common Internet File System (CIFS) inside the Docker container. CIFS is not officially supported as a file system by SQL Server on Linux.
Resolution
The fix for this problem is included in the following update for SQL Server:
Cumulative Update 7 for SQL Server 2017
About SQL Server builds
Each new build for SQL Server contains all the hotfixes and security fixes that were in the previous build. We recommend that you install the latest build for your version of SQL Server:
The latest build for SQL Server 2017
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
Learn about the standard terminology Microsoft uses to describe software updates.