无法启动 SQL Server 2019 docker

7

已在Centos 7中安装了Docker。

  1. 按照此链接Microsoft docker link设置SQL服务器的docker。

  2. Docker已转换为非root用户。

仍然显示权限错误,如下所示:

默认情况下,SQL Server 2019将作为非root用户运行。 该容器正在以mssql用户身份运行。 /opt/mssql/bin/permissions_check.sh:第59行:exec:-v:无效选项 exec:用法:exec [-cl] [-a name] [command [arguments ...]] [redirection ...]

任何指导将不胜感激。


“/opt/mssql/bin/permissions_check.sh” 的第 59 行是什么? - AlwaysLearning
那一行是空的。我已经检查了这个部分。那实际上是最后一行。我坚信的是访问/var挂载位置的问题。 - Sandeep Krishna
2个回答

6
感谢您提供的所有建议。
我遇到了错误。
    /opt/mssql/bin/permissions_check.sh: line 59: exec: --: invalid option

然而在我的情况下,我在 Docker 论坛 找到了答案。

我的完整 Docker 启动命令如下:

    sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=******" 
    -v /Data/mssql:/var/opt/mssql/data 
    -p 1433:1433 
    --name sql1 
    -h sql1 
    -d mcr.microsoft.com/mssql/server:2019-latest 
    --restart=always

简短回答看起来像是“参数--restart=always不能作为句子的结束”。

通俗地说,“无效选项”错误意味着docker命令中的一般性错误,可能不是特定于容器的错误。

在我的情况下,其他参数的顺序帮助我:

    sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=******" -v /Data/mssql:/var/opt/mssql/data -p 1433:1433 --restart=always --name sql1 -h sql1 -d mcr.microsoft.com/mssql/server:2019-latest

4
感谢提供的所有帮助。这是由于非root用户对挂载文件夹的权限问题所导致的。
采用了替代方法,而不是使用/var/opt路径,改用SQLvolume方法。因此,存在权限和非root用户权限问题。

1
我也遇到了同样的问题;你采取了哪些步骤来解决这个问题? - RaviLobo
2
不要直接给出路径,而是给出 SQLVolume 的引用。这样可以解决问题,就像下面的 docker run -v sqlvolume:/var/opt/mssql 一样。 - Sandeep Krishna
1
太好了。谢谢。 - RaviLobo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接