-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
docker-compose의 volumes에 대한 질문입니다
21.09.28 14:07 작성 조회수 185
0
안녕하세요! 헷갈리는 것이 있는데 혼자 테스트를 해보아도 잘 모르겠어서 질문드려요!
docker-compose의 volumes를 이용했을때.. 어떤 경우에는 호스트의 폴더를 컨테이너의 폴더에 덮어 씌우고
어떤 경우에는 컨테이너의 폴더를 호스트의 폴더에 덮어씌우는것 같아요..
전자의 경우 nginx컨테이너의 폴더가 덮어씌워짐 (호스트폴더:/usr/share/nginx/html)
후자의 경우 (컨테이너로 생성한 mysql의 폴더가 호스트에 생성됨)
무엇을 기준으로 이렇게 결과가 달라지는 건가요?! ㅠ_ㅠ
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
나만의 웹서비스 + 워드프레스 서비스 만들기3
강의실 바로가기
답변을 작성해보세요.
0
김효민
질문자2021.09.29
사진 아래의 nginx 설정의 경우 myweb(A)가 없고 html(B)가 있는 경우
즉 A가 없고 B가 없는 경우에도 A로 덮어씌워집니다. (html 폴더가 비워져있어요)
반면 mysql은 A가 B로 덮어씌워집니다.
mysql과 nginx가 같은 조건인데 왜 다른 결과가 되는지 모르겠습니다.
그리고 강의 수료했습니다 좋은 강의 감사합니다~!
0
잔재미코딩 DaveLee
지식공유자2021.09.29
안녕하세요.
volumes 는 결국 A:B 라고 했을 때, 그 두 폴더이름이 동일한 저장소를 가리키게 되는건데요.
아무래도 A 가 없고, B 가 있을 때는 B 내용으로 덮어씌워지고, A 가 있고, B 가 없을 때는 A 내용으로 덮어씌워지니까, 이렇게 세부적으로 보면 은근히 여러 경우의 수가 있다보니, 동작이 상이해보이는 것 같아서, 그것을 이야기하신 것 같습니다. 위와 같이 생각해보시면 어떨까요? A 와 B 가 둘다 있을 때에는 A 또는 B 전체로 교체되는 것은 아니고, 둘다 덮어씌워진다고 보시면 어떨까요? 한번 각각의 케이스를 테스트해보시고 공유해주셔도 더 좋긴 할 것 같습니다.
- A 가 없고, B 가 있을 때는 B 내용으로 덮어씌워지고,
- A 가 있고, B 가 없을 때는 A 내용으로 덮어씌워지니까
답변 2