Docker가 실행되는 모든 곳에서 이를 가져올 수 있기 때문에, 동일한 환경에서 정확히 동일한 애플리케이션을 실행할 수 있다.
💡 Docker는 결국 이러한 컨테이너의 생성 및 관리 프로세스를 단순화하는 도구이다.
Docker 의 사용 목적
독립적인 패키지
: 소프트웨어 개발에서 독립적인 표준화된 애플리케이션 패키지를 원하는 이유
특정 자바 버전에서만 돌아가는 애플리케이션이 있다면, 로컬 환경에서 실행되던 애플리케이션이 운영 환경에서는 실행되지 않는 상황이 발생할 수 있다. → Docker를 사용해 특정 자바 버전을 Docker에 고정시킬 수 있기 때문에 코드가 항상 정확한 버전으로 실행되도록 할 수 있다.
여러 사람이 서로 다른 자바 버전을 갖고 있음에도, 동일한 환경에서 실행되도록 만들 수 있다.
한번에 여러 자바 버전이 필요한 프로젝트를 개발 할 때, 각 프로젝트마다 독립적인 환경을 만들 수 있다.
Virtual Machine vs Docker
Virtual Machine 이란 호스트 운영 체제에 독립적인 자체 셀(shell)을 지닌 캡슐화된 가상 운영 체제이다.
독립적인 애플리케이션을 원한다면 Virtual Machine 이 아닌 왜 Docker 를 사용할까?
Virtual Machine 장점
호스트 운영 체제 (Windows / macOS / Linux) 에 Virtual Machine 을 설치하면 운영 체제 위에 가상 운영 체제가 실행된다.
그 후 필요한 모든 라이브러리, 종속성 및 도구를 설치한 다음 소스 코드를 그 위치로 이동시키면 Docker & Container 와 동일한 결과를 얻을 수 있다.
분리된 환경과 그 안에 환경별 구성을 가질 수 있으며, 모든 것을 안정적으로 공유 및 재생산이 가능하다는 장점이 있다.
하지만 다음과 같은 단점이 있다.
Virtual Machine 단점
오버헤드 모든 Virtual Machine 은 실제로 우리 머신 위에서 실행되는 스탠드얼론 컴퓨터와 같으므로, 특히 이러한 머신이 여러 대 있는 경우에는 메모리, CPU, 또한 우리 하드 드라이브의 공간을 낭비하게 된다.
동일 파일 공유 원하는 모든 시스템에 그 Virtual Machine 의 설정과 동일 방식을 구성해야 하기 때문에 까다롭다.
Docker 장점
운영 체제가 기본적으로 내재하고 있거나 컨테이너 에뮬레이트를 지원하는 내장 컨테이너를 활용한다. Docker는 이것이 작동하도록 처리한다.
그리고 그 위에 Docker Engine이라는 도구를 실행한다. Docker Engine은 하나의 도구에 불과하며, 여기에는 하나의 가벼운 소형 도구가 설치되어 있을 뿐이다.
컨테이너 내부에 작은 운영 체제 레이어가 있을 순 있지만 버츄얼 머신에 설치하는 것보다 훨씬 작은 운영 체제의 매우 가벼운 버전이다.
결론
Virtual Machine 앱과 앱을 실행하는데 필요한 것만 캡슐화하는 것이 아니라 컴퓨터 전체를 캡슐화한다.
Virtual Machine은 드물게 유용할 수 있지만, 반드시 필수적이지 않은 거품이 낀 완전히 별도의 머신을 갖는 것과 같다.
하지만 Docker 는 운영 체제와 시스템에 미치는 영향이 적고 매우 빠르다.
최소한의 디스크 공간을 사용하며 이러한 이미지와 구성 파일이 있기 때문에 공유, 재구축 및 배포하는 것이 매우 쉽다.
여전히 앱에 필요한 모든 것을 캡슐화한 앱과 환경을 보유하지만 쓸데없는 부가적인 것이 없다.
Docker 시작하기
Container
즉, 어디든 갈 수 있고 담을 수 있는 피크닉 바구니 같은 것!
Docker
Docker는 컨테이너를 관리하고 생성하기 위한 도구일 뿐이다.Docker가 실행되는 모든 곳에서 이를 가져올 수 있기 때문에, 동일한 환경에서 정확히 동일한 애플리케이션을 실행할 수 있다.💡
Docker는 결국 이러한 컨테이너의 생성 및 관리 프로세스를 단순화하는 도구이다.Docker 의 사용 목적
독립적인 패키지
: 소프트웨어 개발에서 독립적인 표준화된 애플리케이션 패키지를 원하는 이유
→
Docker를 사용해 특정 자바 버전을Docker에 고정시킬 수 있기 때문에 코드가 항상 정확한 버전으로 실행되도록 할 수 있다.Virtual Machine vs Docker
Virtual Machine이란 호스트 운영 체제에 독립적인 자체 셀(shell)을 지닌 캡슐화된 가상 운영 체제이다.독립적인 애플리케이션을 원한다면
Virtual Machine이 아닌 왜Docker를 사용할까?Virtual Machine 장점
Virtual Machine을 설치하면 운영 체제 위에 가상 운영 체제가 실행된다.Docker&Container와 동일한 결과를 얻을 수 있다.하지만 다음과 같은 단점이 있다.
Virtual Machine 단점
모든
Virtual Machine은 실제로 우리 머신 위에서 실행되는 스탠드얼론 컴퓨터와 같으므로, 특히 이러한 머신이 여러 대 있는 경우에는 메모리, CPU, 또한 우리 하드 드라이브의 공간을 낭비하게 된다.원하는 모든 시스템에 그
Virtual Machine의 설정과 동일 방식을 구성해야 하기 때문에 까다롭다.Docker 장점
Docker는 이것이 작동하도록 처리한다.Docker Engine이라는 도구를 실행한다.Docker Engine은 하나의 도구에 불과하며, 여기에는 하나의 가벼운 소형 도구가 설치되어 있을 뿐이다.결론
Virtual Machine앱과 앱을 실행하는데 필요한 것만 캡슐화하는 것이 아니라 컴퓨터 전체를 캡슐화한다.Virtual Machine은 드물게 유용할 수 있지만, 반드시 필수적이지 않은 거품이 낀 완전히 별도의 머신을 갖는 것과 같다.Docker는 운영 체제와 시스템에 미치는 영향이 적고 매우 빠르다.⭐발표자 : 이현진님