Docker

Docker 용어

JongSeok_12 2020. 1. 9. 04:44

 

위에 그림을 보면 도커에서 사용되는 용어들을 볼 수 있다

1. 도커 이미지 and 컨테이너

  • 도커 이미지는 
  • 한개의 서버 즉 컨테이너에 여러개의 기능을 넣어 줄 수 있다
  • 예를 들어 컨테이너 1에는 WAS/DB( SQL ) , 컨테이너 2에는 WAS/DB ( 오라클 )
  • 이때 각각 정의 되어 있는 WAS/DB 이것들의 정의를 이미지라고 칭한다
  • 실제로 구동 되는 것은 이미지로 만든 컨테이너

2. 도커 엔진

  • 도커의 모든 동작을 담당

3. 도커 클라이언트

  • 도커를 사용할 때 host PC의 OS 가 윈도우 일 때 사용자가 Linux를 사용 또는 오라클을 사용하고 싶을 때
  • 도커에 필요한 OS들을 ( 컨테이너 ) 올리면서 사용 or my SQL, 오라클등 을 올리면서 사용
  • 이때 HOST PC는 클라이언트의 입장이다 
  • 왜 ?
  • 도커에서 올려 둔 각 컨테이너 ( 각 OS ) 들은 서버가 되기 때문
  • 서버와 클라이언트는 독립된 공간으로 볼 수 있으며 그에 따라 각 디렉토리 역시 독립적이다

4. 도커 HOST OS

  • 도커 클라이언트의 OS

 

 

도커의 작동 구조

위의 그림과 같은 구조로 도커 컨테이너가 구성되게 된다

 

도커의 작동 원리

1. Namespace

  • 키 : 벨류가 쌍으로 묶여 있는 딕셔너리를 생각하면 됨
  • EX )
  • HTML의 태그들은 모두 HTML이라는 네임 스페이스로 묶여 있음
  • 그렇기 때문에 당연히 다른 언어에서 HTML 태그를 사용하려고 한다면 네임스페이스가 다르기 때문에 사용 불가
  • EX )
  • 윈도우와 리눅스의 명령어는 다르다
  • ( 네임스페이스 ) 윈도우 :  ( 명령어 ) dir, cls    리눅스 : ls, clear 서로하는 기능은 같다 
  • 하지만 리눅스 네임스페이스와, 윈도우의 네임스페이스에 맞추어 실행을 해주어야 함

위와 같은 Namespace의 개념이 

PID Namespace -> 프로세스들의 네임스페이스 

즉 각 컨테이너에서 실행되는 프로세스들은 독립 되어 있음

 

Network Namespace

네트워크 역시 독립되어 있음

 

 

 

 

 

 

 

 

 

모든 자료의 출처는 시니어코딩에 있습니다.

https://www.youtube.com/channel/UCei9IGoBLCRShZaBb_RN_IA

 

시니어코딩IndiFlex

코딩 강의 화면 녹화분입니다.

www.youtube.com