ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 그림과 실습으로 배우는 도커&쿠버네티스 Chapter 1
    교육/도커 및 쿠버네티스를 활용한 컨테이너 배포 및 운영기술 2024. 6. 9. 09:57
    728x90

    Chapter 1 도커란 무엇인가?

    01 도커란 무엇인가?

    데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어

    주로 서버에서 사용됨

    다양한 프로그램과 데이터를 각각 독립된 환경에 격리하는 기능을 제공, 운영체제(비슷한 것)을 통째로 격리

    컨테이너와 도커 엔진

    조립형 창고 => 컨테이너

    컨테이너를 다루는 기능을 제공하는 소프트웨어 => 도커

    도커 소프트웨어의 본체 => 도커 엔진 =>컨테이너를 생성하고 구동가능

    컨테이너를 만들려면 이미지가 필요하다

    도커 엔진이외에도 컨테이너의 틀인 이미지가 필요

    담고 있는 소프트웨어의 종류에 따라 다양한 이미지 사용

    용량이 허락한다면 하나의 도커에 여러 개의 컨테이너를 올릴 수도 있음

    도커는 리눅스 컴퓨터에서 사용한다

    내부적으로 리눅스가 사용되고, 컨테이너에서 동작시킬 프로그램도 리눅스용 프로그램

    도커가 리눅스 운영체제에서 사용하는 것을 전제로 만들어졌기 때문

    리눅스 OS 위에, 도커 엔진 위에, 컨테이너들

    데이터나 프로그램을 독립한 환경에 격리해야하는 이유

    도커는 주로 서버 환경을 격리하기 위해 사용됨

    =>데이터나 프로그램을 독립된 환경에 격리해야 하는 이유는?

    =>프로그램 간 공유를 하니깐

    ex)버전 충돌

    프로그램의 격리란?

    도커 컨테이너를 다른 컨테이너와 완전히 분리된 환경

    =>컨테이너 안에 들어있는 프로그램은 다른 프로그램과 격리된 상태

    =>여러 프로그램이 한 서버에서 실행되면서 발생하는 문제를 대부분 해결할 수 있음

    02 서버와 도커

    서버의 두가지 의미

    서버란? 어떤 서비스제공하는 것

    기능적 의미의 서버와 물리적 컴퓨터로서의 서버

    기능적 의미의 서버 : ~~서버?=~~기능을 제공한다!

    물리적 의미의 서버 : 실물, 데스크톱 컴퓨터와 마찬가지로 물리적으로 존재하는 컴퓨터

    개인욘 컴퓨터는 개인이 사용, 서버는 여러 사람이 원격으로 접근해 사용

    서버의 기능은 소프트웨어가 제공한다

    서버의 기능이란?소프트웨어가 제공하는 것=>소프트웨어를 설치하면 서버의 기능을 갖게 됨

    ex)아파치=>웹 서버 소프트웨어, Sendmail=>메일 서버 소프트웨어

    여러가지 소프트웨어를 한 컴퓨터에 설치할 수 있다==여러 기능적 의미의 서버가 하나의 물리적 컴퓨터에 함께 존재가능

    서버의 대표적인 예

    • 웹 서버
      • 웹 사이트 기능을 제공하는 서버
      • 아파치, Nginx, IIS 등
    • 메일 서버
      • 메일 송수신을 담당하는 SMTP 서버+클라이언트에 메일을 전달하는 POP 서버
      • Sendmail, Postfix, Dovecot 등
    • 데이터베이스 서버
      • 데이터를 저장하거나 검색하는 데이터베이스 기능을 제공하는 서버
      • MySQL, PostgreSQL, MariaDB, SQL Server, Oracle Database 등
    • 파일 서버
      • 파일을 저장하고 다른 사람과 공유하기 위한 서버
      • Samba 등
    • DNS 서버
      • IP주소와 도메인을 연결해주는 DNS 기능을 제공하는 서버
    • DHCP 서버
      • IP주소를 자동으로 할당하는 기능을 제공하는 서버
    • FTP 서버
      • FTP프로토콜을 사용해 파일 송수신 기능을 제공하는 서버
    • 프락시 서버
      • 통신을 중계하는 역할을 맡는 서버의 통칭
    • 인증 서버
      • 사용자 인증을 위한 서버
      • OpenLDAP, Active Directory, Radius 등

    서버의 운영체제로는 주로 리눅스가 사용된다

    컨테이너를 이용해 여러 가지 서버 기능을 안전하게 함께 실행하기

    개발 측면에서 이점은 개발환경을 갖추거나 운영 환경으로 쉽게 넘어갈 수 있다는 점 등을 들 수 있음

    컨테이너가 그저 격리된 환경이 아니라 쉽게 옮길 수 있다는 특성

    자유로이 옮길 수 있는 컨테이너

    컨테이너 자체를 옮긴다기보다는 컨테이너 정보를 내보내기 한 다음, 다른 도커 엔진에서 복원하는 형태

    똑같은 상태로 튜닝한 컨테이너를 팀원 전원에게 배포해 모두가 동일한 개발환경 사용가능

    도커만 설치되어 있으면 되므로 운영체제가 달라도 이를 신경쓰지 않고 컨테이너를 옮길 수 있음

    도커를 사용하면 물리적 환경의 차이, 서버 구성의 차이를 무시가능!

    운영 서버와 개발 서버의 환경 차이로 인한 문제를 원천적으로 방지할 수 있음

    더보기

    도커와 가상화 기술의 차이

    도커는 실행환경을 독립적으로 격리한 컨테이너!

    가상화 기술은 가상의 물리서버를 만드는 것!=물리적 대상(ex. VM)을 sw로 대체

    댓글

Designed by Tistory.