【发布时间】:2017-08-18 10:45:19
【问题描述】:
我正在尝试使用搁浅的 microsoft/mssql-server-linux:latest docker 映像在 ubuntu 上将 SQL Server 作为 docker 容器运行。对于数据持久性,我正在使用 docker run 命令中的 -v 选项将卷从我的主机(具有 ext4 文件系统)映射到容器,如下所示
docker run -it -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=######' -p 1433:1433
-v /var/opt/database:/var/opt/mssql/data microsoft/mssql-server-linux
容器运行良好,我能够连接到数据库。但我不想在我的主机上存储数据,因为数据库的规模不断扩大,而且出于群体原因。现在我想在其他机器上运行 NFS 服务器并将 nfs 目录挂载到我的 docker 主机上,然后在卷映射上使用该 nfs 目录,现在卷映射是
-v /var/nfs/database:/var/opt/mssql/data
/var/nfs/database 是 docker 主机上的 nfs 挂载目录。现在,当我启动容器时,出现以下错误
2017-08-18 10:15:53.98 spid5s FCB::Open failed: Could not open file /var/opt/mssql/data/master.mdf for file number 1. OS error: 87(参数不正确.)。 2017-08-18 10:15:53.98 spid5s 错误:5120,严重性:16,状态:101。 2017-08-18 10:15:53.98 spid5s 无法打开物理文件“/var/opt/mssql/data/master.mdf”。操作系统错误87:“87(参数不正确。)”。 2017-08-18 10:15:54.13 spid5s 错误:17204,严重性:16,状态:1。 2017-08-18 10:15:54.13 spid5s FCB::Open failed: 无法为文件号 2 打开文件 /var/opt/mssql/data/mastlog.ldf。操作系统错误:87(参数不正确。)。 2017-08-18 10:15:54.13 spid5s 错误:5120,严重性:16,状态:101。 2017-08-18 10:15:54.13 spid5s 无法打开物理文件“/var/opt/mssql/data/mastlog.ldf”。操作系统错误87:“87(参数不正确。)”。
我已授予数据库文件的所有权限。下面是nfs mount sn -p
sharedstorageIp:/var/nfs nfs4 443G 47G 375G 11% /var/nfs
【问题讨论】:
标签: sql-server docker