도커는 어떤 실무 환경에서 쓰이나요?
안녕하세요! 좋은 강의 감사드립니다.
덕분에 도커를 쉽게 배울 수 있었고, 실무에 어떻게 활용될 수 있을지 궁금증이 생겨 질문드립니다.
도커는 협업 환경에서 자주 쓰이나요?
저는 아직 협업에서 도커를 직접 사용해본 경험은 없는데,
만약 실제 협업 중 도커를 활용하게 된다면,
배포 시 에러가 발생했을 때 디버깅이 오히려 어려울 수도 있지 않을까? 하는 고민이 있습니다.
그래서 실무에서는 어떤 상황에서 도커를 자주 사용하는지 궁금합니다.도커는 왜 MSA 환경에 적합하다는 이야기가 많을까요?
찾아보니 도커가 MSA(Microservices Architecture)에 잘 맞는다는 자료들을 종종 보았는데요,
아마도 MSA는 여러 개의 서비스를 따로 운영해야 하다 보니,
각 서비스의 환경 셋팅이나 배포가 많아서 그런 걸까요?
답변 2
0
안녕하세요 은경님! 강의 잘 봐주셔서 감사합니다~~
질문해주신 내용에 답변드려볼게요!
도커는 협업 환경에서 자주 쓰이나요?
-> 협업을 하느냐 안 하느냐 여부로 도커 사용을 결정하진 않습니다!
현재 서비스를 구성함에 있어서 도커의 장점이 단점보다 많다고 생각될 때 도커를 활용합니다.
컨테이너 기반의 기술인 도커를 활용하게 되면 가장 큰 장점이 이식성(강의에서 자세히 설명)인데,
이 장점 때문에 최근 현업 IT 서비스 기업들에서도 대부분 도커를 활용하고 있습니다.
하지만 도커가 만능 기술일 정도로 장점만 가지고 있는 건 아닙니다.
말씀해주신 대로 배포 시 에러가 발생했을 때 디버깅이 조금 더 복잡하긴 합니다.
그렇다고 하더라도 도커가 가진 장점이 단점보다 크다고 판단해 도커를 자주 활용합니다!
도커는 왜 MSA 환경에 적합하다는 이야기가 많을까요?
-> MSA 환경에서는 지속적인 배포와 수평적 확장이 중요한데,
도커는 이식성이라는 장점을 가지고 있기 때문에 MSA 환경에 보다 유용하게 사용됩니다.
말씀해주신 대로 '각 서비스의 환경 셋팅이나 배포가 많아서 그렇다'라는 말도
맞는 말이라고 볼 수 있습니다:)
지금까지 설명드린 내용은 이론적인 내용이므로
은경님이 실제 프로젝트를 하면서 정말 도커를 사용할 정도로
그만한 장점을 가지고 있는 지 느껴보고,
만약 장점을 가지고 있다면 어떤 점이 얼마나 편한 지를 파헤쳐보시면
좋은 학습이 될 것 같습니다!
이 외로 또 궁금하신 점 있으시면 질문 남겨주세요~~
0
안녕하세요, 인프런 AI 인턴입니다. 황은경님!
도커가 협업과 실무 환경에서 어떻게 사용되는지에 대해 여러 궁금증을 갖고 계신 것 같아 도움이 되고자 관련 정보를 제공해드리겠습니다.
도커는 협업 환경에서 자주 쓰이나요?
네, 도커는 협업 환경에서 많이 사용됩니다. 주로 개발 환경 설정과 코드 일관성을 유지하기 위해 활용됩니다.
개발 환경 통일: 도커는 ‘컨테이너’라는 가상 환경을 사용하여 모든 개발자가 동일한 환경에서 작업하도록 돕습니다. 이는 “어디서나 동작하는 코드”라는 목표에 근접할 수 있게 해주므로, 협업이 많은 팀에서는 특히 유용합니다.
CI/CD 파이프라인: 연속적인 통합(CI)과 배포(CD) 과정에서 도커는 이미지 기반으로 가상 환경을 제공하여 이전에 비해 디버깅과 테스트가 수월합니다.
빠른 초기화: 새로운 팀원이 프로젝트에 참여하게 되면, 도커를 사용하면 빠르게 환경을 초기화할 수 있어 시간이 절약됩니다.
도커는 왜 MSA 환경에 적합한가요?
도커가 MSA(Microservices Architecture)에 적합하다는 이유는 여러 가지가 있지만, 주요한 이유는 아래와 같습니다.
서비스 간 격리: 도커 컨테이너는 각 서비스를 독립적으로 실행할 수 있고, 서비스 간 종속성을 제거하여 안정성을 높입니다.
효율적인 자원 사용: 도커는 시스템 자원을 효율적으로 사용하여 더 많은 서비스를 한 서버에서 운영할 수 있게 지원합니다.
버전 관리와 배포 간소화: 각 서비스가 독자적인 환경에서 개발되며, 도커 이미지를 통해 서비스 버전을 손쉽게 관리하고 배포할 수 있습니다.
자동화된 배포와 확장성: MSA 환경에서는 지속적인 배포와 수평적 확장이 중요한데, 도커는 이러한 필요성을 충족시켜 줍니다.
다른 이용자들이 유사한 질문에 대한 답변과 토론을 나눴던 링크를 참고하시길 추천드립니다:
- MSA와 Docker의 실제 사용 사례
- 도커 및 CI/CD 프로세스에서의 활용법
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
EC2 터미널에서 docker pull
0
62
2
AWS ECR
0
57
2
FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다
1
100
2
Redis 볼륨 설정?
0
117
2
컨테이너의 IP
0
80
2
도커 이미지를 만들 때 application.yml
0
105
2
compose.yml 관리
0
87
2
ECR 리포지토리에 이미지가 3개가 보입니다.
0
77
2
액세스 키 등록하는 시점 관련 질문이 있습니다.
0
83
1
depends_on에 따른 컨테이너 실행 순서
0
76
2
실제 웹 서비스 배포 시 질문
0
80
2
도커 volume 질문
0
67
3
HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?
0
72
2
sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?
0
72
2
39강 도커파일 빌드 경로 질문이 있습니다.
0
69
2
도커파일 copy
0
70
2
실무에서 docker compose up --build를 할 때
0
185
2
mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우
0
85
2
도커 허브에서 postgres 버전 확인하는 법
0
127
2
보충 자료와도 관련된 추가 내용
1
82
1
현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?
0
109
2
노션 자료에 안 보이는 이미지가 있습니다
0
100
1
도커 허브에서의 latest가 가장 최신인 게 맞나요?
0
119
2
docker image ls 실행 시 나오는 내용이 다릅니다
0
86
2





