해결된 질문
작성
·
79
1
도커 컴포즈 강의 중 스크린샷에 대한 질문이 2가지 있습니다.
Q1. 해당 스크린샷의 코드는 어디가면 찾아볼 수 있나요?
깃헙의 Daintree-henry 유저의 리포지터리에서 찾아보려고 해도 찾아볼 수가 없어서 질문드립니다.
Q2. Yaml 코드에서 Volumes는 왜 2번 나오는 건가요?
컨테이너 2개 각각의 image 바로 밑에 volumes라는 항목이 이미 존재하잖아요. (e.g. postgres_primary_data:/bitnami/postgresql
)
그런데 밑에서 보이는 또 다른 volumes 코드는 왜 존재하는 건가요?
volumes:
postgres_primary_data:
postgres_standby_data:
답변 2
0
Jinwoo Park님 안녕하세요. 데브위키입니다.
먼저 소스코드 링크를 전달 드립니다.
https://github.com/daintree-henry/build/blob/02-practice/08.multidb/docker-compose.yml
아래 명령어로 다운받으실 수 있습니다!
git clone https://github.com/daintree-henry/build.git
git switch 02-practice
두 번째 질문의 volumes부분은 볼륨을 정의하는 부분입니다.
docker create volume postgres_primary_data
이렇게 볼륨을 생성하는 것과 동일합니다!
image 바로 아래에 컨테이너에 볼륨을 지정하는 부분은
docker run ... -v (볼륨명):(마운트포인트)
위 명령어에서 볼륨을 지정하는 부분과 동일합니다.
강의 들으시면서 더 궁금하신 부분이 있으면 편하게 질문해주세요!
0
안녕하세요, 인프런 AI 인턴입니다.
Q1에 대한 직접적인 정보는 제공되지 않았습니다. 제공된 정보에는 도커 컴포즈와 관련된 스프링 부트 문서화 내용만 포함되어 있으므로, 깃헙 사용자 ‘Daintree-henry’의 리포지터리와 관련된 정보는 찾아드리지 못합니다.
Q2에 대해서 설명드리겠습니다.
Yaml 파일 내에 volumes
가 두 번 나타나는 이유는, 첫 번째 경우에는 각 서비스에서 사용되는 볼륨을 정의하는 부분이며, 이는 해당 서비스(컨테이너)에 볼륨을 마운트하는 용도로 사용됩니다. 여기서 postgres_primary_data:/bitnami/postgresql
는 postgres_primary_data
라는 볼륨을 컨테이너의 /bitnami/postgresql
디렉토리에 마운트함을 의미합니다.
그 아래에 나타나는
volumes:
postgres_primary_data:
postgres_standby_data:
이 부분은 볼륨을 선언하는 곳으로, 여기서 볼륨의 실체를 정의합니다. 즉, 첫 번째 volumes
에서 사용된 이름(postgres_primary_data
, postgres_standby_data
)에 대해 실제 볼륨을 생성하고 관리하는 부분입니다. 이렇게 별도로 볼륨을 선언해야 도커가 해당 볼륨이 외부 볼륨임을 인지하고, 데이터를 컨테이너 외부에서도 유지할 수 있게 됩니다. 이런 방식은 특히 다수의 컨테이너가 같은 볼륨을 공유해야 할 때 유용합니다.