Docker 001 | 도커란?

This Is Empty.·2021년 11월 7일
0

Docker

목록 보기
1/3
post-thumbnail
  • 기본 개념을 다룹니다.
  • 공부함과 동시에 작성하는 것이라 사실과 다른(제가 빠트리거나 잘못 작성한) 부분이 있을수도 있습니다. 댓글로 지적해주시면 감사하겠습니다!

Docker란?

컨테이너 기반의 오픈소스 가상화 플랫폼이다. 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다.

도커는는 가상화 실행환경 위에 application 배포 엔진을 더함으로서사용자의 코드를 어디서든 빠르고 가볍게 실행시킬 수 있는 기술을 제공한다.

도커는 OS의 커널 위의 유저 공간에서 실행된다. 즉 완전히 독립된 운영체제를 가상화(Hypervisor)하는 것이 아니라 독립적인 유저 공간을 가상화하는 것이다. 따라서 하나의 호스트 서버에서 여러 독립적인 유저공간 인스턴스들을 가상적으로 실행할 수 있기때문 Hypervisor가상화보다 훨씬 가볍고 빠르고 쉽게 독립적인 가상 환경을 실행시킬 수 있다.

  • 컨테이너?
    애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행될 수 있도록 코드와 모든 종속성을 패키징하는 소프트웨어의 표준 단위
  • 가상화?
    가상화는 소프트웨어를 사용하여 프로세서, 메모리, 스토리지 등과 같은 단일 컴퓨터의 하드웨어 요소를 일반적으로 가상 머신(VM)이라고 하는 다수의 가상 컴퓨터로 분할할 수 있도록 해주는 컴퓨터 하드웨어 상의 추상화 계층

Docker 구조

도커는 다음 4가지 부분으로 구성되어 있다.

  • Docker client & server(docker engine)
  • Docker image
  • Docker registies
  • Docer containers

Docker client & server

클라이언트가 서버에 명령을 전달하고 서버가 실행시키는 구조이다. docker binary명령이 docker client이고 dockerd가 docker daemon 혹은 docker engine이다. 클라이언트와 서버는 동일한 호스트안에서 운영될수도 있으며 서로 다른 호스트에서 운영될 수도 있다.

Docker images

컨테이너 실행에 필요한 파일과 설정값들을 포함하고 있는 것으로 상태값을 가지지 않고 immutable하다. 같은 이미지로 여러개의 컨테이너를 생성할 수 있다. 이미지는 docker hub에 등록하거나 docker registry를 만들어 관리할 수 있다.

Docker container

격리된 공간에서 프로세스가 동작하는 기술(프로세스를 격리하는 기술)로 이미지를 실행한 상태를 말한다. 이미지에 추가되거나 변하는 값은 컨테이너에 저장되며 컨테이너가 삭제되더라도 이미지는 변하지 않고 그대로 남아있다.

Docker registries

Docker이미지를 저장하는 repository이다. github처럼 private registry와 private registry가 있다.

profile
Convinced myself, I seek not to convince.

0개의 댓글