이 레슨과 관련된 학습 키워드
인공지능(AI) — 기계가 생각하는 법 → MLOps & 실전 배포 — 모델을 세상에 내보내기 → 모델 서빙 & 배포 — 연구실에서 서비스로 → 컨테이너화
Docker를 활용한 ML 애플리케이션 컨테이너화: Dockerfile, docker-compose, GPU 컨테이너, 이미지 최적화, CI/CD 파이프라인을 학습합니다.
오늘은 컨테이너가 왜 필요한지 살펴볼게요.
에이아이 모델 배포 때 황당한 일이 생기곤 해요.
바로 '내 컴퓨터에선 되는데' 문제입니다.
슬라이드 왼쪽을 보세요.
파란 박스가 개발 환경, 로컬 머신이에요.
파이썬 3.9, 쿠다 11.8이 설치돼 있어요.
넘파이 1.23, 우분투 20.04도 맞춰져 있고요.
이 환경에서 모델은 완벽하게 돌아갑니다.
초록 체크, 정상 동작이죠.
그런데 이 코드를 서버에 올리면 어떻게 될까요?
빨간 화살표를 따라 오른쪽을 보세요.
프로덕션 서버엔 파이썬 3.11이 깔려 있어요.
쿠다 버전도 12.1로 다릅니다.
넘파이 버전도 1.25, 전혀 달라요.
결과는 에러입니다. 모델이 죽어버려요.
이게 환경 불일치 문제예요.
개발자 입장에선 정말 황당하죠.
내 컴퓨터에선 분명히 됐으니까요.
도커는 이 문제를 근본적으로 해결합니다.
슬라이드 가운데를 보시면 컨테이너 개념이 나와요.
도커는 코드와 환경을 통째로 묶어버려요.
파이썬 버전, 라이브러리, 경로까지 다 포함해요.
이 묶음을 이미지라고 부릅니다.
이미지를 실행하면 컨테이너가 됩니다.
어떤 서버에 올려도 똑같이 동작해요.
오른쪽 비교표에서도 확인할 수 있어요.
'내 컴퓨터에선 되는데' 문제, 완전히 사라집니다.
이것이 컨테이너화의 핵심 가치예요.
선생님: 여기서 질문이 들어왔네요.
학생: 선생님, 이미지랑 컨테이너가 헷갈려요. 둘이 뭐가 다른 건가요?
선생님: 아, 이거 딱 좋은 비유가 있어요.
선생님: 이미지는 붕어빵 틀이고, 컨테이너는 그 틀로 구운 붕어빵이에요.
선생님: 틀 하나로 붕어빵을 여러 개 구울 수 있죠?
선생님: 마찬가지로 이미지 하나로 컨테이너를 여러 개 실행할 수 있어요.
선생님: 이미지는 파일로 저장된 설계도, 컨테이너는 그걸 실제로 돌리는 실행 중인 환경입니다.