작성
·
12
·
수정됨
0
안녕하세요!
처음 도커를 공부하는데 강의 너무 잘 듣고 있습니다.😀
도커 가상 네트워크와 컨테이너 상태 부분을 들으면서 2가지 궁금한게 있어 질문 드립니다.
1.
지금까지 스프링부트 애플리케이션을 개발하면서는 DB 접속 도메인을 고정으로 사용해도 되는 경우가 대부분이었는데, (로컬에서 h2 DB 사용 또는 aws rds 처럼 이미 도메인이 부여된 경우) 이런 백엔드 애플리케이션과 프론트엔드 애플리케이션을 같이 띄울때는 도커 dns 기능이 딱히 필요가 없어 보이는데 이런 경우에도 별도로 네트워크를 구성해서 띄우는게 좋을까요? 그냥 기본 bridge 네트워크를 사용하면 될까요?
도커 가상 네트워크가 단지 dns 기능만을 위해서 사용되는건지, 하나의 애플리케이션에 필요한 서버 전체 구성을 묶어 주는 개념으로도 사용하는 것인지 궁금합니다.
2.
컨테이너의 Stateless 특징 중에
“특정 컨테이너에 쌓인 파일들이 컨테이너의 동작에 영향을 주지 않기 때문에 서버를 지우고 다시 생성하거나 필요하지 않은 서버를 제거할 때 걱정 없이 제거 가능하다” 는 부분이 조금 모호하게 이해됩니다.
이미지와 컨테이너를 사용하지 않더라도 서버의 변경 사항을 수정하고 재기동을 하면 이전 서버의 상태와 상관 없이 새로운 내용이 적용되는데, 어떤 차이점이 있는걸까요?
여러대의 서버를 사용하는 환경에서 컨테이너를 사용하면 여러대의 서버가 동일한 상태를 가질 수 있다는것이 핵심인 것으로 이해하면 되는 내용인지 헷갈려서 질문 드립니다.
감사합니다 🙇♀
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
cutycat님, 도커 가상 네트워크와 컨테이너의 Stateless 특징에 대한 질문을 해주셨는데요, 관련된 기존 답변들을 통해 궁금증을 해소할 수 있을 것 같습니다.
도커 가상 네트워크 관련
도커의 가상 네트워크는 단지 DNS 기능만을 위한 것이 아닙니다. 네트워크는 컨테이너 간 통신을 위한 기본 구조를 제공합니다. 컨테이너들이 서로 통신할 때 내부 IP를 사용하여 좀 더 효율적인 네트워킹을 가능하게 합니다. 따라서, 특정 애플리케이션 구성을 위해 네트워크를 별도로 설정하는 것이 좋습니다. 기본 ‘bridge’ 네트워크도 유용하지만, 경우에 따라 사용자 정의 네트워크를 만들어 효율적으로 관리할 수 있습니다. 유사한 논의는 “docker 실행시 네트워크 질문”에서 확인할 수 있습니다.
컨테이너의 Stateless 특징
컨테이너의 Stateless 특징은 컨테이너 내의 데이터나 상태에 의존하지 않고, 언제든지 동일한 상태로 재구성될 수 있음을 의미합니다. 이는 특히 서버를 확장하거나 예기치 않은 오류로부터 복구할 때 유리합니다. 이로 인해 다수의 서버 환경에서도 동일한 상태를 유지할 수 있으며, 컨테이너가 이미지를 기준으로 시작되기 때문에 이론적으로 모든 컨테이너가 동일한 상태를 갖게 됩니다. 이는 그 자체로 실무에서 컨테이너를 활용하는 핵심 요소입니다. 자세한 설명은 “컨테이너의 Stateless 제약 관련 질문”에서 확인 가능합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.