인프런 커뮤니티 질문&답변

hhglng님의 프로필 이미지

작성한 질문수

도커 쓸 땐 필수! 도커 컴포즈

실습 - 도커 컴포즈로 워드프레스 서버 실행하기

docker-compose.yml에서 db_data가 이해가 되지 않습니다 ㅜㅜ

해결된 질문

21.04.06 14:33 작성

·

43

2

삭제된 글입니다

답변 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라는 가상 디스크를 만듭니다

답변이 이해되지 않는다면 얼마든지 다시 물어보셔도 됩니다. ^^

hhglng님의 프로필 이미지
hhglng
질문자

2021. 04. 07. 17:51

친절한 답변 감사합니다! 가상 디스크를 만드는 이유는 테스트용 인가요? 

hhglng님의 프로필 이미지
hhglng
질문자

2021. 04. 09. 16:39

실수로 이 디렉터리가 지워진다거나 소스코드 버전 관리 시스템에 들어가버리면 낭패일 겁니다. 이 디렉터리를 직접 관리하지 말고 도커에 맡겨봅시다. docker-compose.yml 파일을 다음과 같이 수정합니다.


글을 보고 이해했습니다! 

hhglng님의 프로필 이미지

작성한 질문수

질문하기