본문 바로가기

CI-CD/Docker

Docker- 기본 개념 정리

  • docker hub: 프로그램들을 다운 받는 app store와 같은 곳. 이곳에서 image를 다운받을 수 있다.
  • image: 어플리케이션 실행에 필요한 독립적인 환경을 포함하며, 소스코드, 라이브러리, 종속성, 도구 및 응용 프로그램을 실행하는데 필요한 기타파일을 포함하는 불변 파일. 클래스와 비슷한 개념이다.
  • container: 이미지에 종속적인 계층으로 컨테이너를 생성하는 경우, 쓰기 가능한 레이어가 이미지 위에 추가된다. 각각의 컨테이너는 격리되어 서로에게 영향을 주지 않는다. 이미지가 클래스라면 컨테이너는 인스턴스에 해당한다.

컨테이너

하이퍼바이저 가상화 기술

각 하드웨어의 코어마다 가상의 게스트 os를 구동하는 방식.

기존 방식인 하나의 하드웨어에서 하나의 호스트 OS만으로 서버를 돌리면 안정적이긴 하지만 메모리를 온전히 다 사용하지 못해서 효율이 떨어졌다. 따라서 가상화 기술을 통해 호스트 OS위에 여러 게스트 OS를 구동시켜 여러 서버를 하나의 하드웨어 상에서 동시에 구동한다.

 

그렇다면 컨테이너 가상화 기술은 무엇일까?

컨테이너 가상화 기술

기존 VM과 달리 컨테이너는 별도의 게스트 OS를 필요로 하지 않는다. 도커 이미지는 호스트 OS 위에서 구동되며 별도의 게스트 OS가 필요하지 않기 때문에 크기가 굉장히 작고 때문에 배포에 용의하다. 또한 호스트 OS위에서 동작하므로 도커 컨테이너에서 돌아가는 어플리케이션은 호스트의 다른 컨테이너와 동일한 커널을 공유한다. 결과적으로 컨테이너에서 실행되는 프로세스는 호스트에서 볼 수 있다.

'CI-CD > Docker' 카테고리의 다른 글

Docker- Docker Compose  (0) 2024.04.17
Docker- Docker file  (0) 2024.04.16
Docker- redis 실행  (0) 2024.04.14
Docker- 명령어  (0) 2024.03.17
Docker -컨테이너와 이미지  (0) 2024.03.12