1. Docker?
- 어떤 문제를 해결하기 위해 만들어진 컨테이너 기반의 오픈소스 가상화 플랫폼
도커의 특징
- 도커가 설치되어 있다면 어디서든 컨테이너를 실행할 수 있음
- 오픈소스기 때문에 특정 회사나 서비스에 종속적이지 않음
- 쉽게 개발서버를 만들 수 있고 테스트 서버 생성도 간편함
컨테이너란?
- 프로그램을 빌드/실행할 때 그 어떤 기기에서든 똑같은 환경을 조성할 수 있도록 도와주는 패키징 서비스

서로 다른 프로그램이지만 컨테이너라는 공통된 형태로 만들어져서 어디서든 이 컨테이너를 실행할 수 있다.
예) AWS, Google Cloud, Azure ...
이런 컨테이너는 Dockerfile을 만든 후 이미지로 저장시켜야지 컨테이너를 구동할수 있습니다.
Dockerfile은 컨테이너를 어떻게 만들어야 하는지에 대한 설명서라고 생각하며 된다.
어떤 프레임워크나 라이브러리를 설치해야하는지, 필요한 환경변수 설정, 어떻게 구동해야 되는지 등이 포함될수있다.
이미지란?
- 컨테이너를 실행하기 위한 압축파일
- 만들어진 이미지는 변경이 불가능한 불변의 상태입니다.
- 이미지에서 컨테이너를 생성하기 때문에 반드시 이미지를 만드는 과정이 꼭 필요
이미지를 어떻게 만들어?
- Dockerfile이라는 스크립트를 이용해서 만든다.
- 빌드 서버에서 이미지 만듬 -> 해당 이미지를 이미지 저장소에 저장 -> 운영서버에서 이미지를 불러옴
- 이미지 저장소를 만들어서 거기에 저장해놓으면 필요한 곳에서 가져다 쓸 수 있도록 구성