[도커] 도커 기초

도커의 기본 개념

  • 데이터 또는 프로그램을 격리시키는 기능 을 제공하는 소프트웨어
    • 주로 서버에서 사용됨
    • 다양한 프로그램과 데이터를 각각 독립된 환경에 격리하는 기능을 제공
    • OS 비슷한 것을 통째로 격리한다.

컨테이너와 도커 엔진

  • 도커엔진을 설치해야 사용가능
  • 컨테이너
    • 작은 방 처럼 독립된 환경을 제공한다.
    • 내부에 데이터나 프로그램을 둔다.

다양한 이미지와 운영체제 관계

  • 도커는 컨테이너를 생성하기 위해 해당 어플리케이션을 실행할 수 있는 이미지 가 필요하다
    • 이미지는 컨테이너의 빵틀 과 같은 역할을 수행하고,
      • 필요한 라이브러리 . 실행파일 등을 포함
    • ex
      • 아파치 서버 동작을 위해
        • 아파치 이미지
      • MySQL DB를 실행하기 위해
        • MySQL 이미지 사용
      • 이미지는 ISO 파일
        • ISO 는 CD 의 전체 내용을 파일로 담은 것.
        • 이를 통하여 CD 와 DVD 를 복원하듯이 이미지를 통해 컨테이너 생성, 실행환경을 복제가능하다.

프로그램 격리의 필요성

  1. 의존성의 충돌 방지
    1. 프로그램이나 라이브러리는 특정 버전의 의존성을 요구한다.
    1. 서로 다른 프로그램이 동일한 라이브러리의 다른 버전을 필요로 하는 경우 격리하지 않는다면 충돌이 발생한다.
  1. 환경 일관
    1. 개발, 테스트, 운영 환경 간의 차이를 최소화하고, 어디서나 동일하게 동작하는 환경을 보장가능하다.
  1. 보안의 강화
    1. 격리된 환경은 다른 시스템과 격리되어 있음.
    1. 하나의 컨테이너가 침해당하더라고 다른 컨테이너나 호스트 시스템에 영향 X
  1. 관리의 용이
    1. 각각의 컨테이너 독립 관리
    1. 업데이트 변경사항이 다른 컨테이너 영향 X
  1. 리소스의 효율 증대
    1. 필요한 만큼의 리소스만 할당받아 사용
    1. 시스템 리소스를 보다 효율적으로 사용 가능

    실무?

    1. 다중 프로그램의 운영시
      1. 서로 다른 버전의 PHP 와 파이썬을 사용하는 프로그램을 동시에 운영시
      1. 각각을 다른 컨테이너에 격리함으로 상호간의 충돌을 방지한다.

서버와 도커의 관계

들어가기전에..

  • 일단 서버는 2가지 의미로 분류됨
    1. 기능적인 의미의 서버
      1. 특정한 서비스를 제공하는 역할을 하는 시스템
      1. 웹 서버
        1. 웹 페이지를 호스팅
        1. 사용자 요청에 응답
      1. 메일 서버
        1. 이메일 전송 수신 처리
      1. 소프트웨어로 구현되며, 물리적 서버에 다수 기능적 서버가 실행될 수 있음
    1. 물리적 의미의 서버
      1. 서버 SW 가 실행되는 실제 하드웨어
      1. 멀티 사용자가 원격으로 사용하는 것이 일반적

도커와 서버 관계 본론

  • 도커는 기능적, 물리적 서버 개념을 모두 활용한다.
  • 도커사용시 단일 물리 서버에 여러 개의 독립된 서비스 실행할 수 있는 컨테이너를 생성가능
  • 이점
    1. 격리(Isolation)

      서로 다른 서비스들이 서로 영향을 주지 않고 독립적으로 실행됩니다.

    1. 보안(Security)

      한 서비스에 보안 문제가 발생해도 다른 서비스에는 영향을 미치지 않습니다.

    1. 자원 관리(Resource Management)

      각 컨테이너는 필요한 만큼의 자원을 할당받아 사용하므로 자원을 효율적으로 관리할 수 있습니다.

    1. 이식성(Portability)

      컨테이너화된 서비스는 다른 서버로 쉽게 이동할 수 있습니다.

정리

  • 서버의 기능은 SW 에 의해 제공된다.
    • 어떤 컴퓨터는 SW 설치로 특정한 서버 로 변모가능
    • 아파치 웹서버 SW 설치 → 웹 서버
    • Sendmail 같은 메일서버 SW 설치 → 메일 서버
      • 가 된다.

Uploaded by N2T