-
[Docker] 도커의 장점program_language 및 궁금한것/Docker 2019. 11. 19. 11:36
Doker란 Doker, Inc.에서 Go언어로 개발하였다
서버의 경우 1대의 서버에서 복수의 프로세스를 실행하지만,
Docker의 경우 하나의 Docker컨테이너에 하나의 마스터 프로세스를 실행하도록 구성해야 한다.
1 컨테이너, 1 마스터 프로세스로 구성한다.
- 포터블한 이미지를 손쉽게 생성 및 이용할수 있게 되었다는 점이 높게 평가 받았다.
- 포터블 하다란? 특정환경에서 동작하는 프로그램 한 세트가 다른 환경에서도 제대로 동작한다.
docker는 아주 특정한 문제점을 해결해 준다!
바로 'environment disparity'
ex) 개발 완료 후 서버에만 올리면 되는 상황에서 에러가 난 이유는 나의 컴은 윈도우 서버는 리눅스라서컴퓨터, 서버 둘다 도커를 설치하여 도커 파일을 생성한다. 그러면 도커는 해당 설정한 환경과 같은 vertual container를 컴퓨터에 만든다.
서버에도 필요한 것들을 다운받고
컨테이너는 각각이 독립적이다.
한개의 서버에 수많은 컨테이너를 가질 수 있다.
( 파이썬 장고 컨테이너 node.js등 )
각기 다른 컨테이너가 존재할수 있다.
도커는 이걸 관리할수 있다.
MSA에서 빛을 발한다.
(예를들어 java앱이 인기가 많다 java컨테이너 늘리고 줄이는 것이 가능하다.)
새로운 서비스를 만들때마다 새로운 서버를 살 필요가 없다는 말이다.
왜? 하나의 같은 서버에서 다른 환경설정을 할수 있고 독립되어 있으니까!
1. 원하는 개발 환경을 파일에 저장하면, docker는 이를 너가 원하는 어떤 머신에든 해당 환경을 시뮬레이션 해준다.
2. 이러한 환경들은 각기 독립적으로 존재하기 때문에 원하는 무슨 환경이든 모듈식으로 관리 가능하다. 그래서 파이썬 서버, 자바서버, DB서버를 추가해서 살 필요가 없다.
by. 니꼴라스
반응형'program_language 및 궁금한것 > Docker' 카테고리의 다른 글
Docker-compose + Nginx Letsencrypt적용 (완벽) (1) 2022.07.13 [ Docker ] 하이퍼바이저란? (0) 2019.11.12 [ Docker ] 클라우드란 ? (0) 2019.11.12