-
카테고리
-
세부 분야
데브옵스 · 인프라
-
해결 여부
해결됨
docker-compose.yml에서 db_data가 이해가 되지 않습니다 ㅜㅜ
21.04.06 14:33 작성 조회수 31
2
삭제된 글입니다
답변을 작성해보세요.
0
너굴
지식공유자2021.04.06
가장 아래에 있는 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라는 가상 디스크를 만듭니다
답변이 이해되지 않는다면 얼마든지 다시 물어보셔도 됩니다. ^^
hhglng
질문자2021.04.09
실수로 이 디렉터리가 지워진다거나 소스코드 버전 관리 시스템에 들어가버리면 낭패일 겁니다. 이 디렉터리를 직접 관리하지 말고 도커에 맡겨봅시다. docker-compose.yml 파일을 다음과 같이 수정합니다.
글을 보고 이해했습니다!
답변 1