로컬 개발 환경에서 DB 컨테이너의 데이터를 유지하기 위해 호스트 디렉토리와 컨테이너 내부 경로를 바인딩하여 서버를 운영하고 있습니다.
코드:
version: '3.8'
services:
db:
image: mysql:8.0
container_name: mysql_server
environment:
MYSQL_ROOT_PASSWORD: password123
MYSQL_DATABASE: test_db
volumes:
- ./mysql_data:/var/lib/mysql
ports:
- "3306:3306"
오류: docker-compose down 이후 다시 up을 실행하면, 기존에 저장했던 테이블과 데이터가 모두 사라지고 초기 상태로 돌아가 있습니다.
시도: 호스트의 ./mysql_data 디렉토리에 읽기/쓰기 권한을 부여해 보았고, 볼륨 경로를 절대 경로로 변경하여 다시 시도해 보았습니다.
질문: 바인딩 마운트를 설정했음에도 불구하고 컨테이너 재생성 시 데이터가 유지되지 않는 원인이 무엇인지 궁금합니다.
댓글5
-
빗방울
2026.10.30 11:29
-
빗방울
2026.10.30 13:28
맞음ㅋㅋ 폴더 비어있으면 마운트 자체가 안 된 거라
볼륨 설정 다시 확인해보는 게 빠를 듯요
-
빗방울
2026.10.30 16:48
맞아요ㅋㅋ
로그 보면 뻔히 나올 텐데 의외로 그거 안 보는 분들 많더라고요.
권한 꼬인 거면 로그에 에러 뜰 듯요.
-
빗방울
2026.10.30 13:02
혹시 윈도우 쓰시면 도커 데스크탑 설정에서 파일 공유 권한 허용되어 있는지 확인해보셈. 가끔 그거 안 되어 있으면 마운트 씹히는 경우 있더라고요ㅋㅋ
-
빗방울
2026.10.30 16:40
아 맞네 윈도우면 그럴 확률 높음ㅋㅋ
설정에서 Shared Drives 같은 거 체크 안 되어 있으면 백날 해도 안 될 듯요
모든 이야기1454
가벼운 안부부터 깊은 생각까지, 함께 나눠요.
총 1454개의 이야기
혹시 mysql_data 폴더 안에 파일들 제대로 생성되어 있나요?
내 생각엔 마운트 경로가 꼬였거나 권한 문제일 것 같은데 로그 한번 확인해보셈ㅋㅋ