항구를 떠올려보자.

부둣가에 대형선박들이 오고가고 그 선박에는 네모난 상자가 가득 쌓여있다.

컨테이너 속에는 여러가지 물건들이 실어있다.

도커는 번역해보면 부두라는 의미고, 배를 통해서 여라가지 컨테이너들이 오고 가는 장소다.

마찬가지로 서버에서도 비슷한 의미는 쓰이는데 컨테이너 안에 여러가지 잡동사니들 (프로그램들 실행파일들을 넣어놓고)

격리된 컨테이너 안에서만 돌아가는 환경을 구축하는 느낌이다.

도커의 장점은 다양한 프로그램들, 여러 실행 환경들을 추상화하고 이를 동일한 인터페이스 (도커)를 제공함으로 매우 편하고 간단하게 배포, 관리할수 있는 점이다.

사실상표준(데크로?)으로 여겨지고 있다.

PC, AWS, Azure, Google...

""그래서 이번과제를 하면서 테스트해볼것은, 우분투, 윈도우, 맥os에서 동일한 도커 이미지파일로 서버가 구축되는지 확인하는것!""

키워드는 추상화 (프로그램들, 다양한 서비스들) | 동일한 인터페이스 | 배포 및 관리 (쉬운)

기존의 가상화 기술은 새로운 os환경을 만들어서 그 위에서 돌아간다면

(VMware, VirtulBox)host -> guest os

도커는 host os위에 도커엔진이 돌아가고 그위에 컨테이너들이 하나 하나씩 돌아가는 개념.

단, 이 컨테이너는 프로세스처럼 오직 그 안에서만 동작. (격리되 있다고 표현), Linux Container

그래서 상대적으로 기존 가상화보다 가볍고 빠르다.

도커에서 중요한 키워드는 앞서 말한 컨테이너 개념과 두번째로 이 컨테이너를 만들어주는 image 라는 개념

이미지는 간단하게 말해서 설치파일.exe같다. 그 안에 작성된 대로 필요한 서비스들 프로그램들을 설치하고 실행해준다.

"이미지는 컨테이너 실행에 필요한 파일들, 설정값들을 포함"