无法在 Docker 容器中启动 SQL Server 2022

Jos*_*inn 1 sql-server docker docker-compose

由于找不到文件或目录的问题,我目前无法在其 docker 容器中启动 SQL Server 2022。但错误消息的输出没有给出我所缺少的任何线索。该容器能够在今天之前启动(我对主机进行了更新并重新启动,没有任何更改应该不允许执行):

Attaching to db-1
db-1  | SQL Server 2022 will run as non-root by default.
db-1  | This container is running as user mssql.
db-1  | Your master database file is owned by mssql.
db-1  | To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
db-1  | This program has encountered a fatal error and cannot continue running at Mon Jan 15 16:34:36 2024
db-1  | The following diagnostic information is available:
db-1  | 
db-1  |          Reason: 0x00000001
db-1  |          Signal: SIGABRT - Aborted (6)
db-1  |           Stack:
db-1  |                  IP               Function
db-1  |                  ---------------- --------------------------------------
db-1  |                  000059c04b40ace1 std::__1::bad_function_call::~bad_function_call()+0x96661
db-1  |                  000059c04b40a6a6 std::__1::bad_function_call::~bad_function_call()+0x96026
db-1  |                  000059c04b409c2f std::__1::bad_function_call::~bad_function_call()+0x955af
db-1  |                  000070fbc4529520 __sigaction+0x50
db-1  |                  000070fbc457d9fc pthread_kill+0x12c
db-1  |                  000070fbc4529476 raise+0x16
db-1  |                  000070fbc450f7f3 abort+0xd3
db-1  |                  000059c04b3dbd96 std::__1::bad_function_call::~bad_function_call()+0x67716
db-1  |                  000059c04b4185b4 std::__1::bad_function_call::~bad_function_call()+0xa3f34
db-1  |                  000059c04b446318 std::__1::bad_function_call::~bad_function_call()+0xd1c98
db-1  |                  000059c04b4460fa std::__1::bad_function_call::~bad_function_call()+0xd1a7a
db-1  |                  000059c04b3e220a std::__1::bad_function_call::~bad_function_call()+0x6db8a
db-1  |                  000059c04b3e1e80 std::__1::bad_function_call::~bad_function_call()+0x6d800
db-1  |         Process: 10 - sqlservr
db-1  |          Thread: 157 (application thread 0x264)
db-1  |     Instance Id: c9380e05-c944-4cf5-9342-105397856038
db-1  |        Crash Id: 4b39a473-e76a-47b4-8a49-bb6fd55f2849
db-1  |     Build stamp: a9299dd605c652a3cea4246273441bcfaf48afb4b482ab9dc43771eecaf6600b
db-1  |    Distribution: Ubuntu 22.04.3 LTS
db-1  |      Processors: 32
db-1  |    Total Memory: 67119079424 bytes
db-1  |       Timestamp: Mon Jan 15 16:34:36 2024
db-1  |      Last errno: 2
db-1  | Last errno text: No such file or directory
db-1  | Capturing a dump of 10
db-1  | Executing: /opt/mssql/bin/handle-crash.sh with parameters
db-1  |      handle-crash.sh
db-1  |      /opt/mssql/bin/sqlservr
db-1  |      10
db-1  |      /opt/mssql/bin
db-1  |      /var/opt/mssql/log/
db-1  |      
db-1  |      c9380e05-c944-4cf5-9342-105397856038
db-1  |      4b39a473-e76a-47b4-8a49-bb6fd55f2849
db-1  |      
db-1  |      /var/opt/mssql/log/core.sqlservr.1_15_2024_16_34_36.10
db-1  | Successfully captured dump: /var/opt/mssql/log/core.sqlservr.1_15_2024_16_34_36.10
db-1  | 
db-1  | Ubuntu 22.04.3 LTS
db-1  | Capturing core dump and information to /var/opt/mssql/log...
Run Code Online (Sandbox Code Playgroud)

docker-compose 文件:

**version: '3'
services:
  db:
    image: 'mcr.microsoft.com/mssql/server:2022-latest'
    environment:
      - ACCEPT_EULA=Y
      - MSSQL_SA_PASSWORD=password1!
    ports:
      - 1433:1433
    volumes:
      - ./data:/var/opt/mssql/data
      - ./log:/var/opt/mssql/log
    expose:
      - 1433
Run Code Online (Sandbox Code Playgroud)

用户组所有权./data为 10001:0

小智 6

我遇到了这个问题(或者今天非常喜欢的一个问题)。我运行的是 Arch Linux,刚刚更新到 6.7 内核。降级到以前的内核版本(6.6.7arch1-1)为我解决了这个问题。

  • @FabricioSilva https://github.com/microsoft/mssql-docker/issues/868 (2认同)