Docker란?
도커(Docker) : 컨테이너 기반 가상화 플랫폼으로 응용 프로그램과 그 종속성을 격리된 환경인 컨테이너로 패키징하여 실행하는 기술
도커 주요 개념
컨테이너
애플리케이션과 그 종속성(라이브러리, 설정 파일 등)을 포함하는 독립적인 실행 환경
컨테이너는 격리된 환경에서 애플리케이션을 실행할 수 있도록 해주며, 이를 통해 애플리케이션이 어떤 시스템에서 실행되더라도 동일한 방식으로 동작할 수 있도록 보장한다.
이미지
컨테이너를 생성하기 위한 템플릿
Dockerfile
도커 이미지를 빌드하기 위한 설정 파일
Dockerfile에는 애플리케이션을 실행하기 위해 필요한 소프트웨어와 라이브러리 설치 방법, 환경 설정 등을 단계별로 정의한다.
도커 엔진(Docker Engine)
컨테이너를 실행하고 관리하는 소프트웨어
도커 허브(Docker Hub)
도커 이미지 저장소
VM(가상 머신)과 Docker(도커)의 차이점
특성 | 가상 머신(VM) | 도커(Docker) |
가상화 방식 | 하드웨어 수준 가상화(운영체제 독립적) | 운영체제 수준 가상화(커널 공유) |
리소스 소모 | 높은 리소스 소모(운영체제마다 독립적) | 낮은 리소스 소모(커널 공유) |
성능 | 성능 오버헤드가 크고, 시작 시간이 느림 | 성능 오버헤드가 적고, 시작 시간이 빠름 |
격리 수준 | 높은 격리(각 가상 머신은 독립적인 운영체제 실행) | 격리가 덜 강력(커널을 공유함) |
배포 및 확장성 | 배포가 무겁고 시간이 오래걸림. 확장성 낮음 | 배포가 가볍고 빠르며 확장성 뛰어남 |
운영체제 지원 | 다양한 운영체제 지원 (Windows, Linux, macOs) | 동일한 운영체제에서 실행. 주로 Linux 기반 |
Docker 설치
Docker: Accelerated Container Application Development
Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.
www.docker.com
Docker는 모두 기본값을 설치하였다.
Docker Hub
Docker Hub : 도커 이미지를 저장하고 공유하는 공식적인 클라우드 기반 레지스트리 서비스 (도커 이미지 저장소)
Docker Hub에서 원하는 이미지를 선택해서 pull 해올 수 있다.
pull로 이미지를 가져오면 이미지로 컨테이너로 생성할 수 있다.
추가 설정에서 컨테이너 이름, 포트포워딩할 port, 데이터를 저장할 Volume, 환경 변수를 설정할 수 있다.
Docker Volume : 컨테이너의 데이터를 영구적으로 저장하는 기능
도커 컨테이너는 기본적으로 컨테이너가 삭제되면 데이터가 함께 사라지지만 Volume을 사용하면 컨테이너는 삭제되더라도 데이터는 유지된다.
'한화시스템 Beyond SW Camp > 데브옵스' 카테고리의 다른 글
[Kubernetes] 개념 및 환경 구축 (0) | 2025.03.18 |
---|---|
[Docker] Dockerfile로 자동 빌드&디버깅 (Edit Configuration) (0) | 2025.03.13 |
[Docker] 가상머신에 도커 설치하기 (0) | 2025.03.11 |
[Docker] Dockerfile 스크립트로 이미지 만들기 & 배포 (0) | 2025.03.11 |
[Docker] Docker Compose (0) | 2025.03.10 |