<aside> 💡 ~ for mirae 4편 도커
</aside>
도커는 컨테이너 기술을 기반으로 한 일종의 가상화 플랫폼이다. 가상화란 물리적 자원인 하드웨어를 효율적으로 활용하기 위해서 하드웨어 공간 위에 가상의 머신을 만드는 기술이고, 컨테이너란 컨테이너가 실행되고 있는 호스트 os의 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경을 만드는 기술을 뜻한다.
다시 말하자면, 도커는 독립된 환경을 만들어서 하드웨어를 효율적으로 활용하는 기술! 이라 할 수 있다.
도커는 이런 컨테이너에다 필요한 것만 담아서 구동
한다 즉 필요한 자원만 활용하게 되어 매우 효율적이다.
컨테이너 안에는 애플리케이션을 구동하는데 필요한 라이브러리 및 실행파일만 존재하기 때문에 컨테이너를 이미지로 만들경우 용량이 대폭 줄어든다.
예를 들어, 어떤 프로젝트는 스프링으로 되어있고, 또 다른 어떤 프로젝트는 NodeJS로 되어있다고 해보면 어떨까?
자바를 깔고 노드를 깔고 프로젝트를 깃허브에서 받아와 구동시키며 라이브러리 버전을 맞추고 오류나면 다시 버전을 확인하고 충돌도 막아야하며 매우 많은 작업을 개발자가 수행해야한다 말로만 들어도 매우 비효율 적인걸 알 수 있다.
그럼 도커를 활용하면 어떤 장점이 있을까?
컨테이너 이미지 하나면 어디서든 도커를 작동할 환경만 된다면 프로젝트 세팅을 아주 간단하게 할 수 있다.