지식 · IT·데이터·DX

컨테이너 · 도커

Container / Docker

📂IT·데이터·DX읽기 2분📊실무🔗관련 4

컨테이너란?

한 줄 정의
프로그램과 실행에 필요한 환경을 하나로 포장해 '어디서나 똑같이 돌아가게' 만드는 기술. 도커가 그 대표 도구.
이 주제, 사내 교육으로📚 관련 과정💬 교육 문의
⚡ 3줄 요약
  • 프로그램+환경을 하나로 포장
  • '어디서나 똑같이' 실행
  • 도커가 대표 도구

컨테이너를 쓰기 시작하면 가장 먼저 바뀌는 것은 서버 세팅 문서가 코드로 바뀐다는 점입니다. 예전에는 '자바 11 설치, 환경변수는 이렇게, 라이브러리는 몇 버전' 같은 설치 안내서를 위키에 적어두고 사람이 손으로 따라 했습니다. 컨테이너에서는 그 절차를 Dockerfile이라는 파일 한 장에 적고, 그 파일이 그대로 실행됩니다. 사람의 기억과 손버릇이 끼어들 여지가 사라지는 것이 실제 변화입니다.

가상머신(VM)과 혼동하기 쉽지만 층위가 다릅니다. VM은 운영체제를 통째로 하나 더 띄워 이미지가 보통 수 GB, 기동에 분 단위가 걸립니다. 반면 컨테이너는 호스트의 커널을 공유해 수십~수백 MB에 기동은 대개 초 단위입니다. 용어도 갈라 써야 합니다. 설계도에 해당하는 것이 이미지, 그 이미지를 실제로 띄운 것이 컨테이너, 이미지를 보관하고 나눠주는 창고가 레지스트리입니다. 컨테이너가 수십 개로 늘어나 배치와 복구를 자동으로 맡길 단계가 되면 그 지휘자 역할이 쿠버네티스입니다.

모든 조직에 당장 필요한 것은 아닙니다. 서버 한 대에 서비스 하나를 올려두고 분기에 한 번 고치는 정도라면 도입 비용이 더 큽니다. 배포가 잦거나, 같은 제품을 여러 고객사 환경에 설치하거나, 개발자가 늘어 환경 맞추기가 반복될 때 효과가 분명해집니다. 판단 기준은 기술 취향이 아니라 '같은 것을 몇 군데에 똑같이 올려야 하는가'입니다.

가장 자주 깨지는 지점은 컨테이너 안에 데이터를 그냥 두는 것입니다. 컨테이너는 껐다 켜면 내부 변경분이 사라지는 구조라, 볼륨을 붙이지 않고 DB나 업로드 파일을 안에 넣어두면 재배포 한 번에 통째로 날아갑니다. 이미지 태그를 'latest'로만 쓰는 습관도 위험합니다. 어제 내려받은 latest와 오늘 내려받은 latest가 다른 것이 되어, '어디서나 똑같이'라는 장점을 스스로 버리는 셈이 됩니다. 버전을 숫자로 고정해 두지 않으면 장애가 나도 어떤 코드가 돌고 있었는지 되짚지 못합니다.

💡 쉽게 말하면
이삿짐을 통째로 컨테이너에 담아 어디로 옮겨도 그대로 쓰는 것 — '내 컴퓨터에선 됐는데'를 없앱니다.
실무에서 왜 중요한가
'환경이 달라 안 된다'는 문제를 근본적으로 없애는 기술입니다. 현대 배포·클라우드의 기본 벽돌입니다.
컨테이너 vs 가상머신(VM)
구분컨테이너가상머신(VM)
무게가볍다(OS 공유)무겁다(OS 통째)
속도빠른 실행느린 부팅
격리프로세스 수준완전 격리
유래와 출처

컨테이너 개념은 리눅스에 오래 있었지만, 2013년 등장한 도커(Docker, 솔로몬 하이크스)가 이를 쉽게 만들어 대중화하며 현대 배포의 표준 기술이 됐습니다.

출처 · Docker(2013, Solomon Hykes) · 원문 보기
사례로 이해하기

가상의 사례로 살펴보겠습니다. 임직원 90명 규모의 물류 소프트웨어 회사 A사는 화주사 12곳에 같은 시스템을 설치형으로 납품해 왔습니다. 고객사마다 서버 OS와 라이브러리 버전이 달라 설치에 평균 5일, 환경 문제로 생기는 장애 문의만 월 11건이었습니다. 신규 개발자가 들어오면 개발 환경을 맞추는 데만 사흘이 걸렸습니다.

  1. 개발팀 김 과장이 14쪽짜리 설치 안내서를 Dockerfile 한 장으로 옮기며 '이 문서를 사람 말고 기계가 읽게 하자'고 제안했습니다. 첫 이미지 용량은 1.8GB였습니다.
  2. 인프라 담당 박 차장이 베이스 이미지를 경량판으로 바꾸고 빌드를 두 단계로 나눠 380MB까지 줄였습니다. 고객사 회선에서 내려받는 시간이 40분에서 7분이 됐습니다.
  3. 사내 레지스트리를 두고 태그를 v2.4.1처럼 고정해 올렸습니다. '저희 쪽은 지금 어느 버전인가요'라는 고객 문의에 태그만 확인하면 즉시 답할 수 있게 됐습니다.
  4. DB와 업로드 파일은 컨테이너 밖 볼륨으로 빼냈습니다. 사내 테스트에서 재배포 한 번에 이틀치 운송 기록이 사라진 일을 겪은 뒤, 팀 규칙으로 못 박은 원칙입니다.
  5. 4개월 뒤 고객사 설치 기간은 평균 5일에서 반나절로, 환경 차이로 인한 장애 문의는 월 11건에서 1건으로 줄었습니다. 신입 개발자 환경 세팅도 사흘에서 2시간이 됐습니다.
관련 용어
이 용어와 연결된 교육
📚IT이노베이션나눔경영컨설팅 기업교육 · 대면/온라인과정 보기 →
이 주제로 사내 교육이 필요하신가요?
담당자 맞춤 커리큘럼·견적을 바로 받아보세요.
교육 문의하기
최종 수정 2026-09-13 · 감수 김종혁

자주 묻는 질문

VM은 운영체제 전체를 통째로 띄우고, 컨테이너는 필요한 부분만 가볍게 격리합니다. 컨테이너가 더 빠르고 가볍습니다.
직접 다룰 일은 적습니다. '어디서나 같게 돌리는 포장 기술'이라는 개념만 알아도 충분합니다.
VM은 OS를 통째로 띄워 무겁고, 컨테이너는 OS를 공유해 가볍고 빠릅니다.
필수는 아닙니다. 다만 '어디서나 똑같이 돌아가게 하는 포장'이라는 개념은 알아두면 좋습니다.