docker-entrypoint-initdb.d 의 .sql 실행되지 않는 이슈

이상현·2021년 8월 7일
0

차곡차곡

목록 보기
5/8
post-thumbnail

문제

Docker-Compose 를 이용하여 DB 환경을 세팅하면서 해당 이슈가 발생하였다.
docker-entrypoint-initdb.d 디렉토리 내의 초기화 명령어가 실행되지 않는 이슈가 발생함.

환경

  • Mac OS
  • Docker
  • MariaDB

Docker-Compose , Mysql(Mariadb)

도커를 이용하여 mariadb 이미지를 컨테이너화 하면,
환경변수를 통해 자동으로 DB 설정을 한다 (root id/pw 등..)
또한, container:/docker-entrypoint-initdb.d 폴더에 .sh 또는 .sql 파일을 마운트 하면, 컨테이너 실행과 동시에 데이터를 DB에 넣을 수 있다.

하지만, 위와같이 동작하지 않았고, 사전에 dump를 떠놓은 데이터가 컨테이너 내에 DB에 삽입되지 않는 문제가 발생하였다.

참고한 자료들

스택 오버플로우 에 같은 이슈에 대한 자료들이 있었지만, 해결책을 찾지 못했다.

원인

컨테이너에서 bash 쉘을 실행 후, container:/docker-entrypoint-initdb.d 디렉토리 내의 파일을 직접 실행하였을 때, permission denied 에러가 발생.

해결 방법

파일을 마운트하기 전, 접근권한을 수정 후 마운트함으로써 이슈를 해결할 수 있었다.

chmod 755 "fileName"
profile
'당신을 한 줄로 소개해보세요'를 이 블로그로 대신 해볼까합니다.

1개의 댓글

comment-user-thumbnail
2022년 12월 26일

감사합니다^^

답글 달기