Docker
컨테이너 이미지를 만들고 공유하며 컨테이너를 실행하도록 돕는 도구와 플랫폼이에요.
쉽게 비유하면
작업 상자의 제작법을 적고 같은 상자를 만들어 운반·실행하게 하는 도구 세트와 같아요.
조금 더 자세히
Dockerfile에 앱 준비 절차를 적고 이미지를 빌드한 뒤, 그 이미지로 컨테이너를 실행할 수 있어요. 레지스트리는 이미지를 저장하고 공유하는 곳이에요.
Docker는 컨테이너 개념 자체와 같지 않아요. 컨테이너를 다루는 다른 도구도 있으며, 이미지에는 비밀번호 같은 비밀값을 넣지 않고 실행 시 따로 제공해요.
왜 생겼나요
컨테이너 생성과 전달 과정을 개발자가 일관된 명령과 파일로 다룰 수 있게 돕는 도구로 널리 활용돼요.
어떻게 작동하나요
- 1. 제작법 작성 기반 이미지와 앱 설치·실행 조건을 정의해요.
- 2. 빌드와 공유 이미지를 만들고 레지스트리로 전달해요.
- 3. 실행 필요한 설정, 포트와 저장소를 연결해 컨테이너를 실행해요.
활용 예시
- 앱 이미지 생성
- 팀 개발 환경 통일
- 여러 서비스의 로컬 실행
Docker vs 컨테이너
| Docker | 컨테이너 | |
|---|---|---|
| 범위 | 이미지 제작·공유와 실행을 돕는 도구·플랫폼 | 이미지로부터 실행하는 격리된 앱 단위 |
| 관계 | 컨테이너를 다루는 여러 도구 중 하나 | Docker 외의 도구로도 생성·실행 가능 |
흔한 오해
Docker 이미지에 데이터도 모두 보관하면 되나요?
이미지는 배포할 실행 환경의 틀이에요. 실행 중 바뀌는 데이터는 목적에 맞는 볼륨이나 외부 저장소로 관리하는 것이 일반적이에요.
이렇게 쓰여요
환경 차이 해결
“Docker 이미지로 실행 환경을 맞추고, CPU 구조와 외부 의존성도 같은지 확인하자”라고 이야기해요.
관련 용어
함께 보면 좋은 용어
최종 업데이트