无法绑定挂载Linux SQL Server docker镜像中的Windows文件夹。

问题描述 投票:0回答:1

我试图在windows主机上运行docker镜像mcr.microsoft.commssqlserver:2019-latest。

当运行这个命令行时,一切工作正常。

docker run --rm -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=My_Password" -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest

当我试图绑定挂载varoptmssqldata文件夹,从我的windows主机上访问它的内容时,我得到以下错误。

PS C:\Docker> docker run --rm -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=My_Password" -v C:\SQL\data:/var/opt/mssql/data -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest
SQL Server 2019 will run as non-root by default.
This container is running as user mssql.
To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
2020-05-13 20:39:01.91 Server      Setup step is copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssql/data/master.mdf'.
2020-05-13 20:39:01.99 Server      ERROR: Setup FAILED copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssql/data/master.mdf':  31(A device attached to the system is not functioning.)
ERROR: BootstrapSystemDataDirectories() failure (HRESULT 0x8007001f)

看起来是这个问题: https:/support.microsoft.comen-ushelp4212960fix-sql-server-2017-won-t-start-with-linux-container-imag-on-docker。这应该是被修复的。但我尝试了几个版本的docker镜像,包括mcr.microsoft.commssqlserver:2017-CU7-ubuntu,这应该是该问题被修复的版本。

sql-server linux docker mount
1个回答
3
投票

这似乎是新版Docker for Windows中的一个问题。我从2.3.0.2回滚到了2.2.0.5,现在绑定挂载可以正常工作。

在mssql-docker github中已经提出了一个问题。https:/github.commicrosoftmssql-dockerissues600。

© www.soinside.com 2019 - 2024. All rights reserved.