작성
·
239
0
안녕하세요! 헷갈리는 것이 있는데 혼자 테스트를 해보아도 잘 모르겠어서 질문드려요!
docker-compose의 volumes를 이용했을때.. 어떤 경우에는 호스트의 폴더를 컨테이너의 폴더에 덮어 씌우고
어떤 경우에는 컨테이너의 폴더를 호스트의 폴더에 덮어씌우는것 같아요..
전자의 경우 nginx컨테이너의 폴더가 덮어씌워짐 (호스트폴더:/usr/share/nginx/html)
후자의 경우 (컨테이너로 생성한 mysql의 폴더가 호스트에 생성됨)
무엇을 기준으로 이렇게 결과가 달라지는 건가요?! ㅠ_ㅠ
답변 2
0
사진 아래의 nginx 설정의 경우 myweb(A)가 없고 html(B)가 있는 경우
즉 A가 없고 B가 없는 경우에도 A로 덮어씌워집니다. (html 폴더가 비워져있어요)
반면 mysql은 A가 B로 덮어씌워집니다.
mysql과 nginx가 같은 조건인데 왜 다른 결과가 되는지 모르겠습니다.
그리고 강의 수료했습니다 좋은 강의 감사합니다~!
0
안녕하세요.
volumes 는 결국 A:B 라고 했을 때, 그 두 폴더이름이 동일한 저장소를 가리키게 되는건데요.
아무래도 A 가 없고, B 가 있을 때는 B 내용으로 덮어씌워지고, A 가 있고, B 가 없을 때는 A 내용으로 덮어씌워지니까, 이렇게 세부적으로 보면 은근히 여러 경우의 수가 있다보니, 동작이 상이해보이는 것 같아서, 그것을 이야기하신 것 같습니다. 위와 같이 생각해보시면 어떨까요? A 와 B 가 둘다 있을 때에는 A 또는 B 전체로 교체되는 것은 아니고, 둘다 덮어씌워진다고 보시면 어떨까요? 한번 각각의 케이스를 테스트해보시고 공유해주셔도 더 좋긴 할 것 같습니다.
- A 가 없고, B 가 있을 때는 B 내용으로 덮어씌워지고,
- A 가 있고, B 가 없을 때는 A 내용으로 덮어씌워지니까
저도 수업하면서 같은 부분이 궁금했는데,
혹시 궁금하신 부분 해결되셨나요?
해결 되셨으면 실례지만 후학을 위해 알려주신다면 감사하겠습니다.