Docker를 사용하여 AI/ML 워크플로우를 간소화하세요! 모델을 배포하고, 재현성을 보장하며, 다양한 환경에서 효율적으로 확장하는 방법을 알아보세요.
Docker는 애플리케이션의 배포, 확장 및 관리를 자동화하는 오픈 소스 플랫폼으로, 컨테이너화를 통해 컨테이너화. 빠르게 진화하고 있는 인공 지능(AI) 분야에서 Docker 는 "내 컴퓨터에서 작동"이라는 중요한 과제를 해결합니다. 패키징을 통해 머신 러닝(ML) 모델과 함께 코드, 런타임, 시스템 도구 및 라이브러리를 컨테이너라는 표준화된 단위로 패키징함으로써, Docker는 소프트웨어가 소프트웨어가 컴퓨팅 환경에 관계없이 엄격하게 동일한 방식으로 실행되도록 보장합니다. 이러한 일관성은 최신 MLOps 파이프라인에 필수적이며, 로컬 개발에서 로컬 개발에서 클라우드 컴퓨팅 인프라 또는 클라우드 컴퓨팅 인프라 또는 엣지 디바이스로 원활하게 전환할 수 있습니다.
Docker를 이해하려면 워크플로우를 정의하는 세 가지 기본 구성 요소에 익숙해야 합니다.
Docker는 강력한 컴퓨터 비전 솔루션을 배포하는 데 필수적인 컴퓨터 비전(CV) 솔루션을 배포하는 데 필수적입니다.
Docker 컨테이너 내에서 추론을 실행하면 환경이 깨끗하게 유지되고 종속성이 다른 시스템 패키지와 충돌하지 않도록 다른 시스템 수준 패키지와 충돌하지 않도록 합니다. 다음은 일반적으로 Docker 컨테이너 내에서 실행되는 간단한 Python 스크립트입니다. 컨테이너 내에서 실행하여 이미지 세분화 또는 탐지 작업을 실행하기 위해 일반적으로 실행되는 간단한 Python 스크립트입니다.
from ultralytics import YOLO
# Load the YOLO11 model (downloads automatically if not present)
model = YOLO("yolo11n.pt")
# Perform object detection on an online image source
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of objects detected to verify inference
print(f"Detected {len(results[0].boxes)} objects in the image.")
두 기술 모두 애플리케이션을 격리하지만 작동 방식은 다릅니다.
도커와 쿠버네티스는 서로 다르지만 상호 보완적인 도구입니다. Docker는 개별 컨테이너를 생성하고 실행하는 데 사용됩니다. 그러나 모델 서비스를 위한 서버 클러스터에서 수백 개의 컨테이너를 관리할 때는 모델 서빙을 위한 서버 클러스터에서 수백 개의 컨테이너를 관리하려면 오케스트레이션 도구가 필요합니다. Kubernetes는 Docker 컨테이너의 스케줄링과 실행을 조정하여 엔터프라이즈를 위한 높은 엔터프라이즈급을 위한 고가용성 및 확장성 확장성을 보장합니다. 이러한 시너지 효과에 대한 자세한 내용은 Kubernetes 설명서를 참조하세요.
곧 출시될 울트라리틱스 플랫폼과 같은 Ultralytics 에코시스템의 향후 개발에는 이러한 컨테이너화 원칙을 활용하여 데이터 소싱, 교육 및 배포 워크플로우를 간소화하고 인프라 관리의 복잡성을 인프라 관리의 복잡성을 더욱 추상화할 것입니다.

