Infra/Docker
[Docker] Docker의 기초와 개념
웅지니어링
2025. 3. 1. 19:02
* Docker란?
Docker는 애플리케이션을 컨테이너라는 독립적인 환경에서 실행할 수 있도록 도와주는 오픈소스 플랫폼이다.
* Docker를 쓰는 이유
Docker를 쓰는 가장 큰 이유는 이식성이다.
이식성이란 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있는 특성이다.
* Docker의 장점
- 매번 귀찮은 설치 과정을 일일이 거치지 않아도 된다.
- 버전, 환경 설정, 운영 체제와 같은 옵션들을 항상 일관되게 프로그램을 설치할 수 있다.
- 각 프로그램이 독립적인 환경에서 실행되기 때문에 프로그램 간에 서로 충돌이 일어나지 않는다.
* 컨테이너란?
컨테이너는 애플리케이션, 필요한 라이브러리, 설정 파일 등을 하나의 패키지로 묶은 독립적인 실행 환경이다.
컨테이너는 VM(가상머신)보다 가볍고 빠르게 실행된다.
* 컨테이너의 독립성
컨테이너는 독립적인 컴퓨터 환경인데, 구체적으로 어떻게 독립적으로 관리되는 것일까?
- 디스크(저장 공간) : 각 컨테이너마다 서로 각자의 저장 공간을 가지고 있다. 일반 적으로 A컨테이너 내부에서 B컨테이너 내부에 있는 파일에 접근할 수 없다.
- 네트워크 : 각 컨테이너마다 고유의 네트워크를 가지고 있다. 컨테이너는 각자의 IP 주소를 가지고 있다.
* 이미지란?
이미지는 컨테이너를 실행하기 위한 설정과 코드, 라이브러리, 버전 정보 등을 포함한 템플릿이다.
이미지는 Dockerfile을 이용해 직접 만들 수도 있고, Docker hub에서 다운받을 수도 있다.