본문 바로가기

CS 지식

[Container - 1] 컨테이너 역사

역사

 

컨테이너의 시작은 chroot에서부터 시작

참고 : https://jw-world.tistory.com/71

 

[Container - 2] chroot, namespace, cgroup

chroot container의 시초를 말하며, root에서 directory를 생성하여 마치 root 인 것 처럼 활용하는 방법 chroot를 통해 만든 fake root는 하나부터 열까지 다 지정해 주어야 함 참조 라이브러리(bin/bash), 파일..

jw-world.tistory.com

- root 디렉토리를 변경하는 것

하지만, 이는 파일 등에 액세스 권한만 제어할 뿐 다른 컨트롤을 할 수 없음

이를 개선하여 Unix OS인 FreeBSD에서 Jail을 발표 (2000)

  • 호스트 OS와 Jail이라는 가상 OS 환경에서 파일 시스템, 프로세스, 네크워크를 분리할 수 있는 기술 제공
  • 이때부터 컨테이너가 본격적으로 발전하기 시작

 

Google은 2006년에 Process Containers를 발표

  • 프로세스 자원 이용량을 제어하는 기능 (cgroup)

 

2008년에 IBM에서 LXC(Linux Containers) 를 발표

  • cgroup과 namespace를 사용하여 구현한 최초의 linux 컨테이너 엔진

 

2013년에는 Docker라는 회사에서 LXC를 잘 활용할 수 있도록 Docker를 Opensource로 발표

  • Containerfile이란 메니페스트를 만들고, 이미지를 공유할 수 있는 Container Hub를 만듬
  • Container 기술이 급속히 발전

참고 : https://jw-world.tistory.com/72?category=996421 

 

[Container - 3] Docker

Docker 탄생 배경 LXC가 격리된 환경을 제공하였으나, 서비스를 운영하기 위한 기능들이 부족하여 Docker가 탄생 문서 관리 : 이력 관리가 힘들어 지면서 상태관리 도구가 등장 상태관리 도구 프로그

jw-world.tistory.com

 

2015년에는 Google에서 쿠버네티스(Cubernetes) 1.0을 Open Source로 발표

  • 이후 2016년에 CNCF 재단(Cloud Native Computing Foundation)에 기증하면서 클라우드네이티브 시대가 열림
    • 너무나 많은 Container와 기술적인 문제를 Open Source로 해결하는 것을 목표로 함

참고 : https://jw-world.tistory.com/73

 

[Container - 4] 쿠버네티스 (Kubernetes)

등장 배경 도커 이미지가 점차 많아짐에 따라 관리해야할 대상이 늘어나게 되었고, 이를 관리하고 자동화할 툴이 필요하게 되어 Google에서 개발하여 등장함 현재는 CNCF(Cloud Native Computing Foundation)

jw-world.tistory.com

 

2016년에는 Docker에서 Containerd가 분리됨

'CS 지식' 카테고리의 다른 글

[Container - 3] Docker  (0) 2022.09.28
[Container - 2] chroot, namespace, cgroup  (0) 2022.09.28
NoSQL  (0) 2021.07.05