Database/MS SQL

[docker] MS SQL SERVER 2022 docker /opt/mssql/bin/permissions_check.sh: line 4: [: : integer expression expected

catchv 2023. 4. 12. 16:53
반응형

Windows에서 docker에 MS SQL SERVER 2022(mcr.microsoft.com/mssql/server:2022-latest)을 테스트용으로 사용중 에러가 발생되어서 확인을 해보니 docker log에 permissions_check.sh 파일에서 에러가 발생하고 있었다.

16:39:37 /opt/mssql/bin/permissions_check.sh: line 4: [: : integer expression expected
16:39:37 /opt/mssql/bin/permissions_check.sh: line 59: [: : integer expression expected
16:42:19 ERROR: CoInitializeSecurity failure. (HRESULT 0x800706b5)

Windows에 데이터 디렉토리를 마운트 하고 있어서 해당 문제가 발생 했을 것이라고 생각이 들어 확인해 보니

역시나 테스트용으로 넣어 놓은 SchoolDB.mdf 파일의 소유자가 root로 설정되어 있었다.

(이런 비슷한 문제가 mysql에서도 경험이 있었음.)

 

    volumes:
      - ./data:/var/opt/mssql/data

 

 

docker mssql linux을 data directory

 

소유자를 다른 파일과 동일하게 변경했지만 에러가 발생한다. (소유자 변경은 WSL에서 /mnt/ 디렉토리를 찾아 진행)

ERROR: CoInitializeSecurity failure. (HRESULT 0x800706b5)

생각해보면 소유자 변경 없어도 사용을 했었는데 갑자기 안되는 것이 수상해서 검색해 보니 

WSL 1.2.0 이하에서 발생하는 것으로 확인이 됨. (내가 사용하는 버전이 1.2.0 이였다.)

Unable to start container - CoInitializeSecurity failure · Issue #804 · microsoft/mssql-docker · GitHub

 

Unable to start container - CoInitializeSecurity failure · Issue #804 · microsoft/mssql-docker

Hey there 👋 Getting odd container startup issues that I haven't experienced before. Trying to work with 2022-latest, since this hasn't changed in a couple of months, I'm wondering if its a windows/...

github.com

 

Releases · microsoft/WSL (github.com) 에 1.2.1이 올라 왔다.  테스트 결과 1.2.1에서는 잘 작동 된다.

> wsl --version
WSL 버전: 1.2.1.0
커널 버전: 5.15.90.1
WSLg 버전: 1.0.51
MSRDC 버전: 1.2.3770
Direct3D 버전: 1.608.2-61064218
DXCore 버전: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 버전: 10.0.22621.1485

 

반응형