안녕하세요.

이번에는 도커에 대해 알아보는 시간을 가져볼게요.

도커가 세상에 나온지 6년이 지난 지금,

IT관련 직업을 가지고 있지만,

도커를 제대로 알고 있는 사람도 있고

이름 정도만 알고 있는 사람도 있어요.

저 역식도 도커를 이름 정도만 알고 있는 사람 중에 하나에요.

그래서 도커에 대해 하나하나 알아보면서 여러분들과 내용을

공유해보려고 해요.

먼저 도커에 대한 기초적인 지식을 파악해 보려고요.

클라우드 시스템으로 인하여 누구나 가상머신을 쉽게 생성하고

관리 할 수 있는 시대가 되었어요.

그러다 보니 예전에는 인프라 인제니어나 오페레이터 업무 였던

구축이 지금은 애플리케이션 엔니지어들에게 요구되고 있어요.

클라우드가 등장하기 전에는 애플리케이션이 구동되는 실행환경,

즉 네트워크나 하드웨어는 인프라 엔지니어가 담당을 했어요.

애플리케이션 개발은 애플리케이션 엔지니어가 당담하는 방식이었죠.

 

하지만 클루우드의 등장으로 많은 변화가 생기게 됩니다.

인프라 엔지니어가 수동으로 운영을 하던 환경을 자동화 툴을 사용하여

운영하면서 자연스럽게 인프라 엔지니어에게도 코딩능력을 요구하게 되었어요.

그럼 인프라 엔지니어에게만 업무가 늘어난 것이냐?

애플리케이션엔지니어에게도 애플리케이션의 배포나 테스트등 직접 할 수 있게 되다보니

운영체제나 네트워크 등과 같은 인프라 기술 혹은 지식이 요구되고 있어요.

그럼 클라우드 환경을 위한 도커, 그 도커를 이해하기 위해서는

먼저 컨테이너 기술에 대해서 알아야 해요.

컨테이너라는 운영체제에 논리적으로 누누어서, 애플리케이션 작동을 위한

라이브러리나 애플리케이션등을 모아서 별도의 서버인것 처럼 작동 할 수 있게

해주는 기술이에요.

운영체제를 논리적으로 분산시킨 후 여러개의 컨테이너가 공유하는 것이 특징이죠.

컨테이너는 오버헤드가 적기 때문에 가볍고 빠르게 작동 해요.

기존의 방식은 하나의 운영체제에 여러 애플리케이션이 똑같은 자원을 사용하다보면

동일한 디렉토리, 동일한 IP 사용으로 인한 트러블 슈팅이 빈번하게 발생하고

때로는 과부하로 인한 문제들도 생기기도 했죠.

하지만 컨테이너는 운영체제, 디렉토리, IP를 따로 사용 하는 것 처럼 구동을 해요.

또한 애플리케이션 실행에 필요한 모듈을 컨테이너로 모을 수 있기 때문에

여러 개의 컨테이너를 조합해서 하나의 패클리케이션을 구축 하는 방식으로 많이 활용하죠.

그럼 도커가 어떻게 컨테이너에서 작동을 하는지 설명드릴게요.

프로그램 가발자는 도커를 사용하여 애플리케이션 개발,실행에 필요한

모든 것이 담겨 있는 도커이미지를 작성해요.

생성된 도커이지미가 컨테이너의 바탕이 되는 방식이에요.

그리고 컨테이너를 실행 시킵니다.

이렇게 해서 개발부터 테스트, 실행 환경까지 모두 애플리케이션 엔지니어가

수행을 할 수가 있어요.

이렇게 사용하면 다른 환경에서도 작동하는 환경을 만들수가 있어요.

예를 들어 회사에서 개발 하다가 집에가서도 개발가능한.......(아.....이럼안되.....는ㄷ....)

다음에는 도커의 기능에 대해서 알아 보겠습니다.

​#도커, #docker, #도커기능, #docker기초, #도커설명, #docker설명

 

+ Recent posts