채널톡 아이콘

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

황은경님의 프로필 이미지

작성한 질문수 16

비전공자도 이해할 수 있는 Docker 입문/실전

Docker를 왜 배우는 걸까?

도커는 어떤 실무 환경에서 쓰이나요?

해결된 질문

작성

·

153

·

수정됨

1

안녕하세요! 좋은 강의 감사드립니다.
덕분에 도커를 쉽게 배울 수 있었고, 실무에 어떻게 활용될 수 있을지 궁금증이 생겨 질문드립니다.

  • 도커는 협업 환경에서 자주 쓰이나요?
    저는 아직 협업에서 도커를 직접 사용해본 경험은 없는데,
    만약 실제 협업 중 도커를 활용하게 된다면,
    배포 시 에러가 발생했을 때 디버깅이 오히려 어려울 수도 있지 않을까? 하는 고민이 있습니다.
    그래서 실무에서는 어떤 상황에서 도커를 자주 사용하는지 궁금합니다.

  • 도커는 왜 MSA 환경에 적합하다는 이야기가 많을까요?
    찾아보니 도커가 MSA(Microservices Architecture)에 잘 맞는다는 자료들을 종종 보았는데요,
    아마도 MSA는 여러 개의 서비스를 따로 운영해야 하다 보니,
    각 서비스의 환경 셋팅이나 배포가 많아서 그런 걸까요?

     

 

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 은경님! 강의 잘 봐주셔서 감사합니다~~

질문해주신 내용에 답변드려볼게요!

 

도커는 협업 환경에서 자주 쓰이나요?

-> 협업을 하느냐 안 하느냐 여부로 도커 사용을 결정하진 않습니다!

현재 서비스를 구성함에 있어서 도커의 장점이 단점보다 많다고 생각될 때 도커를 활용합니다.

컨테이너 기반의 기술인 도커를 활용하게 되면 가장 큰 장점이 이식성(강의에서 자세히 설명)인데,

이 장점 때문에 최근 현업 IT 서비스 기업들에서도 대부분 도커를 활용하고 있습니다.

 

하지만 도커가 만능 기술일 정도로 장점만 가지고 있는 건 아닙니다.

말씀해주신 대로 배포 시 에러가 발생했을 때 디버깅이 조금 더 복잡하긴 합니다.

그렇다고 하더라도 도커가 가진 장점이 단점보다 크다고 판단해 도커를 자주 활용합니다!

 

 

도커는 왜 MSA 환경에 적합하다는 이야기가 많을까요?

-> MSA 환경에서는 지속적인 배포와 수평적 확장이 중요한데,

도커는 이식성이라는 장점을 가지고 있기 때문에 MSA 환경에 보다 유용하게 사용됩니다.

말씀해주신 대로 '각 서비스의 환경 셋팅이나 배포가 많아서 그렇다'라는 말도

맞는 말이라고 볼 수 있습니다:)

 

지금까지 설명드린 내용은 이론적인 내용이므로

은경님이 실제 프로젝트를 하면서 정말 도커를 사용할 정도로

그만한 장점을 가지고 있는 지 느껴보고,

만약 장점을 가지고 있다면 어떤 점이 얼마나 편한 지를 파헤쳐보시면

좋은 학습이 될 것 같습니다!

이 외로 또 궁금하신 점 있으시면 질문 남겨주세요~~

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 황은경님!

도커가 협업과 실무 환경에서 어떻게 사용되는지에 대해 여러 궁금증을 갖고 계신 것 같아 도움이 되고자 관련 정보를 제공해드리겠습니다.

도커는 협업 환경에서 자주 쓰이나요?

네, 도커는 협업 환경에서 많이 사용됩니다. 주로 개발 환경 설정과 코드 일관성을 유지하기 위해 활용됩니다.

  1. 개발 환경 통일: 도커는 ‘컨테이너’라는 가상 환경을 사용하여 모든 개발자가 동일한 환경에서 작업하도록 돕습니다. 이는 “어디서나 동작하는 코드”라는 목표에 근접할 수 있게 해주므로, 협업이 많은 팀에서는 특히 유용합니다.

  2. CI/CD 파이프라인: 연속적인 통합(CI)과 배포(CD) 과정에서 도커는 이미지 기반으로 가상 환경을 제공하여 이전에 비해 디버깅과 테스트가 수월합니다.

  3. 빠른 초기화: 새로운 팀원이 프로젝트에 참여하게 되면, 도커를 사용하면 빠르게 환경을 초기화할 수 있어 시간이 절약됩니다.

도커는 왜 MSA 환경에 적합한가요?

도커가 MSA(Microservices Architecture)에 적합하다는 이유는 여러 가지가 있지만, 주요한 이유는 아래와 같습니다.

  1. 서비스 간 격리: 도커 컨테이너는 각 서비스를 독립적으로 실행할 수 있고, 서비스 간 종속성을 제거하여 안정성을 높입니다.

  2. 효율적인 자원 사용: 도커는 시스템 자원을 효율적으로 사용하여 더 많은 서비스를 한 서버에서 운영할 수 있게 지원합니다.

  3. 버전 관리와 배포 간소화: 각 서비스가 독자적인 환경에서 개발되며, 도커 이미지를 통해 서비스 버전을 손쉽게 관리하고 배포할 수 있습니다.

  4. 자동화된 배포와 확장성: MSA 환경에서는 지속적인 배포와 수평적 확장이 중요한데, 도커는 이러한 필요성을 충족시켜 줍니다.

다른 이용자들이 유사한 질문에 대한 답변과 토론을 나눴던 링크를 참고하시길 추천드립니다:
- MSA와 Docker의 실제 사용 사례
- 도커 및 CI/CD 프로세스에서의 활용법

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.