Docker

Tool/Docker 2016. 1. 14. 00:30




Docker 는 오픈 소스 컨테이너 프로젝트이다.


STEP 1. 원하는 프로그램들을 통째로 이미지화 하여 컨테이너에 넣어 보관한다.

STEP 2. 어디서든 컨테이너를 풀어 동일한 환경으로 세팅할 수 있게 해준다.



로고


로고를 보면 고래가 컨테이너 박스를 여러 개 싣고 다닌다.

컨테이너는 각종 프로그램이 들어있는 이미지를, 고래는 이 이미지들을 이곳저곳에 전달하는 의미를 가진듯 하다.



배경


요즘은 클릭 몇 번 만으로 원하는 만큼의 서버를 만들어 낼 수 있는  클라우드 서비스를 많이들 이용한다.

보통 원하는 OS를 설치하고, 각종 응용 프로그램들을 설치하고 설정하는데, 만약 서버가 100대라면 이 과정을 100번…?

프로그램 설정이 변경될 경우 서버 100대에 수정 작업을 100번??

Docker 는 이러한 반복 작업에 유용한 프로그램이며, 변경 사항 만을 업데이트 해 줄 수도 있으며, Git 처럼 버전 관리가 가능하다.



Immutable Infrastructure 패러다임


호스트 OS서비스 운영 환경(서버 프로그램, 소스 코드, 컴파일된 바이너리)을 분리한다.

서비스 운영 환경을 이미지로 생성하여 한번 설정한 서비스 운영 환경은 변하지 않는다는 개념이다.

만약 설정이 바뀌어야 한다면?

기존 이미지를 버리고 변경된 서비스 운영 환경을 이미지로 다시 생성하여 재배포 한다.

Docker는 이 Immutable Infrastructure 패러다임을 구현할 수 있도록 도와준다.



장점


서비스 운영 환경 만을 이미지로 생성했기 때문에 가볍다.(Lightweight)

어디서든 실행이 가능(Portable)하므로 PC 나 테스트 서버에서 테스트를 손쉽게 할 수 있다.

이미지를 중앙 관리하여 체계적인 배포와 관리를 할 수 있다.

클라우드 플랫폼의 자동 확장 기능(Auto Scaling)과 연동하면 손쉽게 서비스 확장이 가능하다.



WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,