Docker에 대한 무성한 소문만 들어왔던 나.. 마음먹고 Docker에 대해 공부하기로 했다!
🏹 Docker란 무엇인가
사실 내가 설명하는 것 보다 공식 문서를 읽는게 빠르다. 이 글은 단지 내가 읽은 것을 (이해할 수 있는 범위에서, 간단히) 정리하고 복습하기 위한 용도이다.
공식 문서 링크: https://docs.docker.com/get-started/
🏹 Docker의 세가지 키워드
- developing
- shipping
- running
한마디로 요약하자면, 내가 개발한 application을 어느 환경에서나 쉽게 관리할 수 있도록 돕는 open 플랫폼이다.
🏹 Docker의 Architecture
- Docker는 클라이언트-서버 아키텍처를 사용한다.
- Docker 클라이언트는 몇가지 명령어를 통해 Docker daemon과 커뮤니케이션한다.
- 이때, 커뮤니케이션이란 API를 통한 요청이다.
- Docker daemon은 Container 빌드, 실행, 배포 등의 작업을 알아서 처리한다.
🏹 Docker의 Object
- image
Packge라고 생각하면 된다.
Package안에는 서버 프로그램, 라이브러리, 소스코드, 컴파일된 실행 파일 등이 들어있다.
- container
image를 실행한 상태라고 생각하면 된다.
Docker API 또는 CLI를 사용해 container를 create, start, stop, move or delete 할 수 있다.
container는 image와 더불어 사용자가 처음에 제공하는 구성 옵션에 의해 정의된다. containter가 삭제되면 영구 저장소에 저장되지 않은 상태의 모든 변경 사항도 사라지게 된다.
🏹 Docker를 실제로 사용해보자
https://docs.docker.com/get-started/
링크에 접속한 후 하라는대로 하면.. Docker의 d자를 알게 된다.
위 이미지를 실행하면 다음과 같은 창을 살펴볼 수 있다.
localhost에서 application이 돌아간다!
배포에 3일까지 투자해본 적 있는 나로써는 놀라울 따름이다..