Tibero는 무료로 사용할 수 있는 데이터베이스가 아니며, 정식 라이선스가 없을 경우 최대 6개월 동안 유효한 데모 라이선스를 발급받아 사용해야 합니다. 이러한 이유로 공식적인 Tibero Docker 이미지도 배포되어 있지 않습니다.
회사 내부적으로는 Tibero 7의 이미지를 사내 위키를 통해 다운로드하여 사용하고 있었습니다. 로컬 환경에서 테스트 용도로 사용하는 데에는 큰 문제가 없었지만, 해당 이미지에는 치명적인 결함이 있었습니다.
Tibero를 지원하는 Flyway를 개발하면서 테스트 과정에서 이 Docker 이미지를 사용해야 했는데, 이러한 불편함을 매번 감수해야 했습니다. 이에 이미지 개선을 통해 개발 효율성을 높이고자 했습니다.
사내 위키를 통해 다운로드한 파일 중 docker-compose.yml을 사용하여 Docker를 실행하는 방법이 있었고, 해당 YAML 파일에서는 start.sh라는 셸 스크립트를 실행하도록 되어 있었습니다.
[start.sh]
#!/bin/sh
cp /usr/local/license.xml /tibero7/license/
/tibero7/config/gen_tip.sh
mkdir -p /usr/bin/pstack
/tibero7/bin/tbboot nomount
tbsql sys/tibero @'/usr/local/initial.sql'
/tibero7/bin/tbboot
/tibero7/scripts/system.sh -p1 tibero -p2 syscat -a1 y -a2 y -a3 y -a4 y -sod y
tail -f /dev/null%
스크립트 동작 흐름