귀여운 고래위에 컨테이너를 쌓아올린 마크 너무 귀염뽀작하다!
이름은 docker(도커)인데 어떤 녀석일까?
나는 이렇게 얘기하고 싶다. 어플리케이션을 패키징 할 수 있는 유용한 툴이라고!
그리고, 우리가 만든 어플리케이션을 구동하는데 필요한 모든 것들을 docker container안에 담아 넣는 것이다.
이 포인트에서 문득 VM이랑 비슷한 녀석같아 보였다. 하지만 둘은 다르다!
간단하게 차이점을 말해보면,
VM
은 운영체제를 포함한다 => 즉, 무겁다!
라고 표현할 수 있다.Docker Container
는 운영체제를 포함하지 않는다 => 즉, 경량화 되었다!
라고 표현할 수 있다.그렇다면 Docker(도커)의 순서는 어떻게 될까?
순서에는 크게 3가지가 있는데,
먼저 한줄로 얘기하자면,Container를 만들고, 배포하고, 구동하는 방식이다!
1. Container 만들기!
- 어플리케이션을 구동하기 위해 꼭 필요한 파일은 무엇이 있는지?
- 어떤 프레임워크 혹은 라이브러리들을 설치 해야하는지
- 외부 dependencies에 대해 명시 가능
- 필요한 환경변수 설정 가능
- 어떻게 구동해야하는지 script로 포함 가능
2. Image
image
: 실행되고 있는 어플리케이션의 상태를 스냅샷하여 이미지로 만들어두는 것이다!!(이때의 만들어진 이미지는 불변한 상태이다.)3. Container
한줄요약
: _image를 이용해서 어플리케이션을 구동!그렇다면 도커 이미지 배포 과정을 한눈에 알아보자!
container registry
: ex) aws, GCP, Microsoft Azure