01 도커란 무엇인가?
도커란?
‘데이터 또는 프로그램을 격리시키는 기능’을 제공하는 소프트웨어
여러 프로그램을 각각 독립된 환경에서 격리
컨테이너와 도커 엔진
컨테이너: 프로그램이 독립되어 위치할 수 있는 창고
도커: 이 컨테이너를 다룰 수 있는 소프트웨어
도커를 사용 시 도커 엔진 설치 필요
⇒ 도커 엔진을 이용해 컨테이너를 생성, 구동
이미지
컨테이너를 만들려면 도커 엔진 외에도 이미지가 필요
하나의 도커에서 여러 컨테이너 생성 가능
리눅스
도커는 리눅스 운영 체제 위에서, 리눅스용 프로그램만 동작 가능
격리
프로그램 하나를 업데이트하면 다른 프로그램에도 영향을 미치기 때문에, 데이터나 프로그램을 독립된 환경에 격리해야함
02 서버와 도커
서버의 두 가지 의미
서버란? ‘어떤 서비스를 제공하는 것’
서버의 두 가지 의미
- 기능적 의미의 서버
- 물리적 컴퓨터로서의 서버
컨테이너를 이용해 여러 가지 서버 기능을 안전하게 함께 실행하기
예산 부족으로 한 대의 서버를 실행해도, 웹 서버를 여러개 올릴 수 있다.
도커와 가상화 기술의 차이
VirtualBox나 VMware 같은 가상화 기술은 메인보드와, CPU, 메모리 등의 물리적인 부품을 소프트웨어로 구현하여 가상의 물리 서버를 만드는 것.
여기서 ‘가상’은 물리적은 대상을 소프트웨어로 대체했다는 의미이다.
⇒ 실질적으로 물리 서버와 같으므로 OS와 소프트웨어의 제한이 없다.
도커는 컨테이너 위에서 실제 리눅스가 동작하는 것은 아니고, 운영체제 기능 중 일부를 호스트 컴퓨터에 의존한다.
도커와 AWS EC2의 차이
AWS EC2에도 ‘인스턴스’라는 개념이 있다.
EC2 역시 가상화 기술이므로, 완전히 독립된 컴퓨터처럼 동작한다.
다만 인스턴스는 컨테이너와 마찬가지로 AMI라는 이미지로 생성한다.
도커와 호스팅 서비스
AWS ECS 와 같이 별도 가상 서버를 만들지 않아도 컨테이너 이미지를 실행할 수 있다.
'개발 공부 > 인프라' 카테고리의 다른 글
[그림과 실습으로 배우는 도커 & 쿠버네티스] Ch6 - 실전에 활용 가능한 컨테이너 사용법을 익히자 (1) | 2025.01.07 |
---|---|
[그림과 실습으로 배우는 도커 & 쿠버네티스] Ch5 - 여러 개의 컨테이너를 연동해 실행해보자 (0) | 2025.01.06 |
[그림과 실습으로 배우는 도커 & 쿠버네티스] Ch4 - 컨테이너를 실행해 보자 (0) | 2025.01.05 |
[그림과 실습으로 배우는 도커 & 쿠버네티스] Ch3 - 도커를 사용해보자 (0) | 2025.01.05 |
[그림과 실습으로 배우는 도커 & 쿠버네티스] Ch2 - 도커의 동작 원리 (0) | 2025.01.05 |