[docker] 도커 기초(1)

김은지·2022년 3월 29일
0

학습 내용 정리

목록 보기
14/25

도커란...

Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers.
OS 수준 가상화를 사용하여 컨테이너라는 패키지로 소프트웨어를 제공하는 서비스로서의 플랫폼 세트

도커의 정의를 찾아보면 이렇게 나오는데, 잘 이해가 안 간다. 그래서 아주 잘 설명되어있는, 유튜브 동영상을 보고 정리 해 보았다.

도커 설명 동영상 링크

가상화

가상화란 물리적 서버 자원을 효율적으로 사용하기 위한 기술이고, 가상화 기술에 따라 다음과 같이 나눌 수 있다.

  • 하이퍼바이저 : 그림의 첫 번째 경우를 말하는 하드웨어 레벨 가상화로서, 가상 하드웨어 환경 위에 게스트 OS를 설치하여 운영. 이 경우 각각의 가상버신은 가상화된 하드웨어 상에서 자체 운영체제를 포함한 모든 구성요소를 실행하는 하나의 완전한 머신으로 격리 레벨이 높기 때문에 보안적인 측면에서 유리하다.

  • 컨테이너 : 그림의 두 번째 경우. OS레벨 가상화로서 컨테이너 엔진으로 어플리케이션의 실행 환경을 격리한다. '도커'라는 기술로 구현된다. 컨테이너는 VM과 유사하지만, 격리 속성을 완화하여 앱 간에 OS를 공유하므로 VM보다 가볍다는 특징이 있다.
    컨테이너 가상화

    '컨테이너 가상화'를 실현하는 도커
    도커는 컨테이너 가상화를 실현하는 기술로 성능향상, 뛰어난 이식성, 쉽게 Scale Out을 할 수 있는 유연성 때문에 널리 사용된다.

    도커의 구성요소 및 관련 개념을 살펴보겠다.

  • 도커 클라이언트 & 도커 서버 : 사용자가 명령어를 통해 요청을 하면 REST API를 거쳐 도커 서버에서 요청을 수행한다. 서버는 지속적으로 Running되며 docker cli의 요청을 기다리고 docker프로세스를 관리한다.
    Docker client와 server

  • 도커 이미지 : Docker Image란 컨테이너를 실행할 수 있는 실행파일, 설정 값 들을 가지고 있는 것, 즉 컨테이너에서 실행시키고 싶은 어플리케이션을 Docker Image로 build 해서 실행하는 것.

  • 도커 파일 : 도커 이미지 생성의 출발점. 이미지를 구성하기 위한 명령어를 작성하여 이미지 구현이 가능하다. 도커 파일 작성 방법

  • 도커 컨테이너 : 도커이미지를 실행하는 '가상화 공간'이다.

  • docker hub, docker registry : 만들어진 이미지를 저장하고 관리할 수 있는 공간. dockerhub은 공개된 방식, registry는 비공개적으로 격리된 저장소

도커의 기본개념

  • 도커 컴포즈 : 컨테이너를 모아 어플리케이션 스택을 정의하고 운영할 수 있도록 해준다. 컴포즈 파일을 이용하여 어플리케이션 서비스를 설정하면 어플리케이션 안의 다양한 컨테이너를 각각 실행시킬 필요 없이 한 번에 실행시켜준다.
  • Docker Swarm : 컨테이너 클러스터링 툴 - 어떤 방식인지는 아직 모르겠지만... 컨테이너로 이뤄진 클러스터의 관리를 가능하게 한다.

동작 순서

  1. Dockerfile(도커 이미지를 어떻게 만들지 작성, 이를 기반으로 이미지를 빌드)
  2. Docker Image(실행되고 있는 어플리케이션의 상태를 일종의 '사진'처럼 저장하는 것, Dockerfile을 작성하여 생성하거나, DockerHub에서 pull하여 사용/ 혹은 컨테이너에서 실행 환경을 변경하여 commit한다. 이 방법은 실행환경 백업의 느낌과 가까움.)
  3. Docker Container(도커 이미지를 run 하는 것)

다음 이 시간에..!

0개의 댓글