답변 1
0
2021. 04. 06. 22:53
가장 아래에 있는 volumes는 도커 컴포즈가 관리하는 가상 디스크라고 볼 수 있습니다.
volumes:
db_data: {}
라고 선언하여 db_data라는 가상 디스크를 하나 만들었다고 보시면 됩니다.
두 번째로, mysql 서비스 안에서 volumes를 다음과 같이 설정하여
mysql 컨테이너 내부의 특정 위치와 호스트 컴퓨터의 특정 위치(=타깃 폴더)를 연결할 수 있는데요.
volumes:
- {타깃 폴더}:{mysql 컨테이너 내부의 위치}
이 기능을 사용할 때 '타깃 폴더' 대신 우리가 만들었던 db_data 가상 디스크를 써줄 수도 있습니다.
종합하여, 다음과 같이 docker-compose.yml 파일을 선언하면 되겠습니다.
...
mysql:
...
volumes:
- db_data:/var/lib/mysql # 아래에서 선언한 db_data 디스크를 사용합니다
...
volumes:
db_data: {} # db_data라는 가상 디스크를 만듭니다
답변이 이해되지 않는다면 얼마든지 다시 물어보셔도 됩니다. ^^
2021. 04. 09. 16:39
실수로 이 디렉터리가 지워진다거나 소스코드 버전 관리 시스템에 들어가버리면 낭패일 겁니다. 이 디렉터리를 직접 관리하지 말고 도커에 맡겨봅시다. docker-compose.yml 파일을 다음과 같이 수정합니다.
글을 보고 이해했습니다!
2021. 04. 07. 17:51
친절한 답변 감사합니다! 가상 디스크를 만드는 이유는 테스트용 인가요?