无法启动 SQL Server 2019 docker

San*_*hna 7 sql-server docker

在 Centos 7 中安装了 docker。

  1. 基于此 url Microsoft docker 链接的SQL Server 的 docker 设置

  2. Docker 转换为非 root 用户

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

默认情况下,SQL Server 2019 将以非 root 身份运行。该容器以 mssql 用户身份运行。/opt/mssql/bin/permissions_check.sh:第 59 行:exec:-v:无效选项 exec:用法:exec [-cl] [-a 名称] [命令 [参数 ...]] [重定向 ...]

任何指导将不胜感激

小智 6

感谢您的所有建议。

我收到错误

    /opt/mssql/bin/permissions_check.sh: line 59: exec: --: invalid option
Run Code Online (Sandbox Code Playgroud)

但是,就我而言,我在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
Run Code Online (Sandbox Code Playgroud)

简短的答案看起来是“参数 --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
Run Code Online (Sandbox Code Playgroud)


San*_*hna 4

感谢您提供的所有帮助。这是由于非 root 用户对挂载文件夹的权限问题。

采用替代方法代替 /var/opt 路径,继续使用 SQLvolume 方法。所以权限/非root用户权限问题

  • 不要给出直接的 Path,而是给出 SQLVolume 引用。这将解决问题。就像下面的 docker run -v sqlvolume:/var/opt/mssql (2认同)