시대가 지날수록 배포유형이 달라지고 있다.
처음에는 하나의 os에서 직접 앱을 여러개 작동 시키는 방법이었고, 이를 가상화 하여 VM상에서 배포하는 방식을 거쳐 컨테이너 기반의 배포방식으로 발전하였다.
초기 배포방식은 App 하나가 다운되면 시스템 전체가 다운되는 문제가 있었다.
그래서 하드웨어를 가상으로 분할하여 별도의 OS에서 작동하는 VM방식으로 배포를 진행해왔다.
이 경우 8코어 cpu를 2코어 cpu 4개로 나누는 것처럼 사용하는데 이런경우 VM을 4개만 실행해도 자원 점유에 문제가 생긴다.
그래서 컨테이너 기반의 배포방식이 떠오르게 되었다.
Host의 자원을 사용하며 여력이 된다면 컨테이너를 많이 띄울 수 있고 하나의 컨테이너는 다른 컨테이너에 영향을 미치지 않는다.
마이크로서비스를 지향하는 요즘 떠오르는 기술이 되었다.
도커는 도커파일, 이미지, 컨테이너로 이루어져있다.
도커파일에 환경을 코드형태로 작성한 후 빌드하면 이미지가 나온다.
이미지에는 도커파일에 작성한 환경, 라이브러리등이 불변형태로 존재하여 실행만 시키면 컨테이너 형태로 앱을 실행시킬 수 있다.
이미지에서 환경, 라이브러리등은 레이어 형태로 이루어져있어 다른 이미지가 같은 레이어를 가지고 있을 수 있다.(이는 실습하며 확인해보도록 한다.)
'프로그래밍 > 도커' 카테고리의 다른 글
[도커] 6. 도커 명령어 2 (0) | 2021.12.29 |
---|---|
[도커] 5. 도커 명령어 1 (0) | 2021.12.23 |
[도커] 4. Hello Docker (0) | 2021.12.22 |
[도커] 2. 도커 시작하기 (0) | 2021.12.21 |
[도커] 1. 도커란 무엇인가 (0) | 2021.12.20 |