-
Docker 개요 - 2공부합시다!/Container 2022. 2. 27. 08:58728x90
그럼 Container 기술에서 가장 많이 알려진 Docker에 대해서 계속 알아보도록 하겠습니다.
1. 정의
1.1. Container 기반의 OpenSource Virtualization Platform.
1.2. 다양한 프로그램 및 실행환경을 Container로 추상화
1.3. 동일한 Interface를 제공 -> 프로그램의 배포 및 관리를 단순화
1.4. Google의 경우 매주 20억개의 Container 구동 (GCP 프로젝트 생성 시 자동으로 만들어지는 이름을 확인해보라)
2. Container
2.1. Image를 실행한 상태
2.2. 격리된 공간에서 Process가 동작하는 기술
2.3. 가상화 기술의 하나이지만 기존 방식과 차이가 있음.
2.4. 기존 방식(OS가상화 : Overhead가 크다)에 비해 Container는 단순히 Process를 격리시켜 가볍고 빠르다.
2.5. CPU나 Memory 역시 딱 필요한 만큼만 추가로 사용함으로 성능적으로 손실이 거의 없다.
3. Container 기술의 역사
3.1. Process 격리 기술 (나중에 자세히 다루겠습니다!)
3.1.1. Linux
3.1.1.1. cgroups : Control Groups
3.1.1.2. namespace : LXC(Linux Container)
3.1.1.3. FreeBSD : Jail
3.1.1.4. Solaris : Solaris Zones
3.1.2. Docker
3.1.2.1. LXC + Libcontainer + runC
4. Container 기술의 장점
4.1. 경량
4.1.1. 하나의 Host에 여러 개의 Container 실행
4.1.2. 서로 영향을 미치지 않으면서 독립적으로 실행 가능
4.2. 고속
4.2.1. 새로운 Container를 1초 이내에 실행
4.2.2. 그에 비해 Instance는 얼마나 느린가?
4.3. 실행 중 변경
4.3.1. 실행 중인 Container 에 접속
4.3.2. 명령어 입력, 패키지 설치, 사용자 추가, Process Background 실행, 내.외부 Directory 연결 가능
조금 더 써볼까 하다가 어쩔지 모르겠네요!
예전 자료들을 이렇게 써 먹다니......
보안 기사와 정보처리기사 강의 시작해야 겠네요!
728x90'공부합시다! > Container' 카테고리의 다른 글
Docker 개요 - 3 (0) 2022.03.02 Docker Image (0) 2022.03.01 Docker(Container) 기술 : namespace & cgroups (0) 2022.02.28 Docker 개요 -1 (0) 2022.02.25 Docker Desktop (0) 2021.12.23