Jul*_*ian 11 sql-server docker
我发现很多情况下,人们尝试从 docker 容器外部打开文件。但我的显然在里面。
我收到的全部信息是:
$ /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "mypw" -Q
"RESTORE FILELISTONLY FROM DISK = '/var/opt/mssql/backup/MyDB.bak'"
Msg 3201, Level 16, State 2, Server 1c7bf85afdaf, Line 1
Cannot open backup device '/var/opt/mssql/backup/MyDB.bak'. Operating system error 5(Access is denied.).
Msg 3013, Level 16, State 1, Server 1c7bf85afdaf, Line 1
RESTORE FILELIST is terminating abnormally.
Run Code Online (Sandbox Code Playgroud)
当我尝试实际恢复数据库时也会发生同样的情况。知道出了什么问题吗?
我感觉可能是一些权限问题需要更改文件的权限
$ ls -la var/opt/mssql/backup/MyDB.bak
-rw-r----- 1 501 dialout 3395584 Jan 16 02:12 var/opt/mssql/backup/MyDB.bak
Run Code Online (Sandbox Code Playgroud)
Jul*_*ian 16
解决方案是更改文件的权限。我需要做:
docker exec -it -u root MicrosoftSQLServer "bash"
Run Code Online (Sandbox Code Playgroud)
然后更改用户(当我不以 root 身份运行 docker 容器时whoami
返回)mssql
chown mssql /var/opt/mssql/backup/TestDB.bak
Run Code Online (Sandbox Code Playgroud)
然后就可以了。
归档时间: |
|
查看次数: |
8608 次 |
最近记录: |