가상화기술

date
Mar 26, 2024
slug
개발자를-위한-쉬운-도커-1
status
Public
tags
개발자를 위한 쉬운 도커
author
summary
[개발자를 위한 쉬운 도커] 강의 정리
type
Post
thumbnail
updatedAt
May 28, 2024 12:34 PM
category

🍯 키워드


IAC
LXC
컨테이너 플랫폼( 컨테이너 엔진, 컨테이너 런타임 )
 
 
 

📝 강의 정리


[1].서버 운영 방식

베어메탈

하이퍼바이저

컨테이너(*도커)

 

[2]. 가상화 기술과 하이퍼바이저 가상화

  • 하이퍼바이저를 활용한 가상화는 게스트 OS가 개별적 커널을 사용함
    • 게스트와 호스트간 커널 통신을 하이퍼바이저가 통역 → 거쳐가는 단계가 증가

[3]. 컨테이너 가상화

💡
하이퍼바이저 없이 커널의 자체 기술을 활용한 가상화( LXC := 리눅스 컨테이너 )
  • 컨테이너 가상화는 커널의 격리 기능을 활용
    • 호스트 OS의 커널을 공유
      → 하이버바이저에 비해 상대적으로 오버헤드가 적다.
       
✅ 호스트 OS의 커널을 공유한다
  • 컨테이너들이 커널을 공유함으로써 커널을 실행하는 시간 자체가 없어진다 → 부팅 속도가 빠름
  • 오버헤드가 적고 부팅이 빠르다는 장점으로 모던 애플리케이션의 요구사항을 만족했다
  • 커널을 공유하기 때문에, 상대적으로 보안이 떨어질 수 있다.
  • 호스트 OS의 커널을 공유하기 때문에, 호스트 OS와 다른 OS는 실행할 수 없다.
 

[4]. 도커

도커의 아키텍쳐

  • Client-Server 모델
 
  1. 사용자가 명령어 실행
  1. 사용자 명령을 docker API로 변환(docker cli)
  1. 도커 데몬에 docker API로 요청
  1. 응답된 json을 포매팅 후 docker cli에 표시
 

[5]. 컨테이너 실행

💡
Nginx 웹서버 컨테이너를 실행시켜보고, 해당 컨테이너가 제공하는 웹 페이지에 접속해보기

[5-1]. nginx 컨테이너

실행
  • docker run -p 80:80 --name hellonginx nginx
    • 80포트hellonginx라는 이름으로 nginx 컨테이너 실행
중지
  • 컨테이너 터미널에서 ctrl + c
 
삭제
  • docker rm 컨테이너명
 

💻 실습 명령어


  • docker version
  • docker info
  • docker --help
  • docker run (실행옵션) 이미지명
  • docker rm 컨테이너명/ID
 
 

📎 출처