-
도커란 무엇인가CLOUD/Docker 2021. 2. 23. 17:27반응형
초보를 위한 도커 안내서 정리
링크 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
따라쓰면서 익히기~!
도커란?
- 컨테이너 기반의 오픈소스 가상화 플랫폼
- 다양한 프로그램, 실행환경을 컨테이너로 추상화 하고 동일한 인터페이스를 제공
=> 프로그램의 배포 및 관리를 단순하게 해줌
도커에서 추상화되는 것 : 백엔드 프로그램, DB서버, 메세지 큐 등 프로그램 어떤 것이든
실행 환경 : 조립 PC, AWS, Azure, GCP
컨테이너
- 격리된 공간에서 프로세스가 동작하는 기술
- 하나의 서버에 여러개 컨테이너를 실행하면 서로 영향 없이 독립적으로 실행되어 가벼운 VM과 같은 효과
- 컨테이너 가상화 방식 vs 기존 방식 차이
기존 기존-개선방안컨테이너
OS 가상화 ( 호스트 OS 위에 게스트 OS)
- 장점 : 여러가지 OS 가상화 가능
- 단점 : 무겁고 느림 , 운영 환경에서 사용 어려움(추가적인 OS를 설치한다는 것에서 성능 문제)
1. CPU 가상화 - KVM(Kernel-based vm)
2. 반가상화 - Xen
=> 전체 OS를 가상화 하지 않아 성능 향상
=> OpenStack, AWS 등 클라우드 서비스 가상 컴퓨팅 기술 기반
프로세스를 격리
=> CPU나 메모리를 딱 프로세스가 필요한 만큼만 추가로 사용하므로 성능 손실 X
*기본 모드는 Bridge(약간의 성능 손실)
*네트워크 성능이 중요한 경우 --net=host옵션
이미지
- 컨테이너 실행에 필요한 파일과 설정값 등을 모~~~~~~~두 포함하고 있는 것
* 컨테이너 = 이미지를 실행한 상태
* 컨테이너가 변경,삭제되어도 변하지않음 (Immutable), 여러 컨테이너 가지고 생성 가능
- Docker hub, Docker Registry에 저장해 관리 가능.
레이어 저장방식
- 도커 이미지는 컨테이너 실행에 필요한 모든 정보를 담고 있어 용량이 큼(수백메가)
이미지에 뭔가 추가될 때 마다 다시 다운받는 것 매우 비효율적
→ 레이어 개념 사용!
2. 이미지는 여러개의 읽기 전용 레이어로 구성되어 파일이 추가,수정될때 새로운 레이어가 생성됨.
3. 컨테이너 생성시에도 기존의 이미지 레이어 위에 읽기/쓰기 레이어 추가.
컨테이너 실행 중 생성된 파일이나 변경 내용 읽기/쓰기 레이어에 저장됨. 여러개의 컨테이너 생성해도 최소한의 용량만 사용
이미지 경로
- url방식 ( ex: docker.io/library/ubuntu:14.04)
- default /이름 : 태그 ( 이름이 같으면 태그로 구분)
'CLOUD > Docker' 카테고리의 다른 글
[Docker] Dockerfile (0) 2021.08.10 [docker] 명령어 (0) 2021.07.19 [Docker] 3. 이미지만들고 배포 (0) 2021.02.23 [Docker] 2 설치.컨테이너 실행 (0) 2021.02.23