Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- nextFocusDown
- junit
- PHP Storm
- Android Studio
- 안드로이드 자동으로 포커싱
- Github Token
- Android Flavor
- git cannot identify version of git executable
- docker에서 mysql 실행
- InvalidTestClassError
- 챗지피티
- AWS
- XML Opacity
- Execution failed for task ':test'.
- MySQL
- 여러 개
- git
- Github 등록
- Linux 패키지 관리자
- sourceSet
- TextView 일부분
- mac 패키지 관리자
- 팝업 바깥 레이어
- Chat GPT
- 5회 인증
- 다음으로 이동
- Location Permission
- php
- 챗GPT
- codeigniter
Archives
- Today
- Total
128june
[내용정리] Docker란? 본문
반응형
이 글은 초보를 위한 도커 안내서 - 도커란 무엇인가? 의 글을 정리한 내용입니다.
초보들이 쉽게 이해할 수 있기 때문에 (초보인 제게 아주 큰 도움이 되었습니다 ㅠㅠ)
먼저 읽으시고 정리한 내용을 보시면 더 효과적일 것입니다!
도커란?
-
컨테이너 기반의 오픈소스 가상화 플랫폼
-
다양한 프로그램/ 실행 환경을 컨테이너로 추상화
-
동일한 인터페이스를 제공, 프로그램의 배포 및 관리를 단순화
-
백엔드 프로그램 / database server / message queue 등 어떤 프로그램도 container로 추상화 가능
-
조립 pc / AWS / Azure / Google cloud 등 어디에서든 실행 가능
- 컨테이너 / 이미지 : 가장 중요한 개념
컨테이너
-
격리된 공간에서 프로세스가 동작하는 기술
-
기존 방식 ==> OS 가상화 / 무겁고 느려서 운영환경에서 사용 X
ex) VMware / VirtualBox
기존의 가상화 방법은 성능문제가 존재 ==> 프로세스를 격리하는 방식 등장
-
리눅스 컨테이너 : 단순히 프로세스를 격리 => 가볍고 빠르게 동작 / 필요한 만큼의 CPU, Memory 사용 / 성능적으로 손실이 거의 없음
- 하나의 서버 -> 여러 개의 컨테이너 실행 : 서로 영향을 미치지 않고 독립적으로 실행
▶ 가벼운 Virtual Machine 사용하는 듯한 느낌
이미지
- 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는 것
- 상태값을 갖지 않고 변하지 않음 (immutable)
- 컨테이너를 실행하기 위한 모든 정보를 가지고있음
▶ 더이상 의존성 파일을 컴파일하고 설치할 필요 X - 새로운 서버 추가 : 미리 만들어놓은 이미지 다운로드 -> 컨테이너 생성
- 한 서버에 여러 개의 컨테이너 실행 가능 / 수많은 서버도 문제 없음
- 누구나 쉽게 이미지를 만들고 배포할 수 있음
레이어 저장방식
- 도커는 유니온 파일 시스템을 이용하여 여러개의 레이어를 하나의 파일시스템으로 사용할 수 있게 해줍니다.
- 이미지는 여러개의 read only 레이어로 구성되고 파일이 추가되거나 수정되면 새로운 레이어가 생성됩니다.
ubuntu 이미지를 A + B + C 의 집합이라고 가정하자. ( 좌측 ubuntu 이미지 )
- ubuntu 이미지를 베이스로 만든 nginx 이미지는 A + B + C + ngix 가 된다.
- nginx 이미지를 기반으로 만든 web-app 이미지는 A + B + C + ngix + source 가 된다.
- web-app 소스를 수정하면 A , B , C , ngix 레이어를 제외하고 source 레이어만 다운받으면 된다.
=> 굉장히 효율적으로 이미지를 관리할 수 있다.
출처
https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
반응형
'Server > Docker' 카테고리의 다른 글
[Docker] Docker에서 Mysql 실행하기 (0) | 2020.10.04 |
---|
Comments