以根用户的身份运行非根容器
如有必要,可以以根用户身份运行非根容器,这也会自动向容器授予所有文件权限,因为它具有更高的特权。
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=MyStrongPassword" -u 0:0 -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest以其他用户和组的身份运行
确保 SQL Server 容器具有命名用户,如 mssql 或 root,否则 sqlcmd 将无法在容器中运行。 可通过在容器中运行 whoami 来检查是否以命名用户的身份运行 SQL Server 容器。
可使用自定义用户和组启动 SQL Server。 在此示例中,已装载的卷具有为主机计算机上的用户或组配置的权限。
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=MyStrongPassword" --cap-add SYS_PTRACE -u $(id -u myusername):$(id -g myusername) -v /path/to/mssql:/var/opt/mssql -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest在主机计算机上以用户的身份运行
可使用以下命令在主机计算机上以现有用户身份启动 SQL Server:
非根 SQL Server 容器需要 --cap-add SYS_PTRACE 标志来生成用于排除故障的转储。
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=MyStrongPassword" --cap-add SYS_PTRACE -u $(id -u myusername):0 -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest以根用户的身份运行非根容器
如有必要,可以以根用户身份运行非根容器,这也会自动向容器授予所有文件权限,因为它具有更高的特权。
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=MyStrongPassword" -u 0:0 -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
评论