볼륨 질문 드립니다.
282
投稿した質問数 31
volumes:
db_data: {}
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql위처럼 볼륨을 도커가 관리하게 하면 문제가 없지만
services:
db:
image: mysql:5.7
volumes:
- ./:/var/lib/mysql지금처럼 특정위치를 지정 함면 mysql이 구동이 실패 됩니다.
이유가 있을까요?
특정 위치 말고 도커가 관리하는 볼륨을 쓰는게 더 좋은가요??
回答 1
0
안녕하세요.
도커 컴포즈 실행시 mysql의 볼륨을 호스트 컴퓨터의 디렉터리로 지정했을 때 컨테이너가 제대로 실행되지 않는 현상을 겪고 계시네요. 도커 컴포즈에서 자주 접하는 오류이므로 꼭 이해하고 넘어가시면 좋겠어요.
'./'는 도커 컴포즈를 실행하는 위치입니다. './'에는 서비스와 관련된 다양한 파일들이 존재할 텐데요. mysql의 데이터가 저장될 볼륨을 이 위치로 마운트하면, `/var/lib/mysql`의 파일들이 시스템의 파일을 덮어쓰게 됩니다. (진짜로 덮어쓰면 문제가 되니까 mysql 구동 단계에서 다른 파일들이 있다는 걸 감지해서 작동을 멈춥니다.)
따라서 ./data 디렉터리를 만든 후 ./data:/var/lib/mysql 처럼 지정하시면 문제가 해결될 거예요.
다만 로컬 호스트의 디렉터리에 마운트를 하시면 다른 문제들(git 저장소에 안 들어가게 신경써야 한다거나 실수로 파일 하나를 삭제한다거나)이 발생할 수 있으니, 가급적 도커가 관리하는 볼륨을 사용하시기를 추천합니다.
혹시 다른 문제를 겪으신다면 언제든 올려주세요. :)
개인실습해설 프론트엔드, 백엔드 데이터베이스 방명록
0
92
2
db 란?
0
74
1
docker run -it -p 8080:80 --rm -v /home/nayuoh/docker-compose/:/usr/share/nginx/html/ nginx
0
101
1
{pwd}
0
84
1
${pwd}
0
82
1
docker 설치 후 첫 실행 시 docker.sock. 에러
0
926
2
도커 컴포즈 그대로 해서 docker-compose up -d 명령어 쳤는데, 프론트엔드랑 몽고디비는 up 상태가 되는데, 백엔드에서 몽고디비 커넥션이 안되네요
0
502
2
ghost 테스트 안됨
1
388
2
docker compose up 에러 질문드립니다~
1
1396
1
Volume 관련 질문 드립니다.
0
336
1
바로 멈춤 문제
0
360
1
실행시 바로 멈춤
1
361
1
강의자료 html에 있는 소스코드처럼 어떻게 작성하나요?
1
305
1
docker-compose.yml 파일 문법자료 문의 입니다
1
298
1
소스코드 복사해서 실습시 불편사항
1
276
1
depends_on 설정
1
338
1
docker run명령어는 언제 사용하나요?
1
337
1
docker-compose exec 질문 드립니다.
1
1148
1
volumes db_data 문의2
0
1038
1
구글링을 했는데 해결방안을 모르겠습니다.
1
233
1
안녕하세요!
1
198
1
강의 ppt
1
319
1
docker-compose 명령어 관련 질문입니다.
1
530
1
완강했습니다. 궁금한게있어서요!
1
210
1

