![](/img/trans.png)
[英]Running SQL Server as a docker container. command line to start the container after system reboot
[英]Docker container running SQL Server exits on start
我在 Docker 容器中运行 SQL Server 实例。 它在启动时自动退出。 日志说:
SQL Server 2019 will run as non-root by default.
This container is running as user mssql.
Your master database file is owned by mssql.
To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
sqlservr: Unable to read instance id from /var/opt/mssql/.system/instance_id: File: pal.cpp:438 [Status: 0xC0000034 Object name not found errno = 0x2(2) No such file or directory]
/opt/mssql/bin/sqlservr: PAL initialization failed. Error: 101
如果我没看错,SQL Server 将不会以 root 用户运行。 但是我的容器和卷都以同一个非根用户身份运行。 所以我很困惑问题出在哪里。 有人可以帮我解码此错误消息吗?
此错误可能是由于以错误的方式绑定 sql server 卷/var/opt/mssql
引起的。
例如
docker run `
--name sqlexpress `
-e ACCEPT_EULA=Y `
-e MSSQL_SA_PASSWORD="averyuRandomPass0wrd" `
-p 1433:1433 `
-v "/var/lib/docker/mssql:/var/opt/mssql" `
-e MSSQL_PID="Express" `
-d mcr.microsoft.com/mssql/server:latest
相反,确保映射/var/opt/mssql
的子卷
docker run `
--name sqlexpress `
-e ACCEPT_EULA=Y `
-e MSSQL_SA_PASSWORD="averyuRandomPass0wrd" `
-p 1433:1433 `
-v "/var/lib/docker/mssql/data:/var/opt/mssql/data" `
-v "/var/lib/docker/mssql/log:/var/opt/mssql/log" `
-e MSSQL_PID="Express" `
-d mcr.microsoft.com/mssql/server:latest
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.