[IntroToDocker] JetBrains Intro to Docker[Part 1 with Java Examples]

2022. 1. 3. 22:55개발공부/Docker Tutorial

728x90

JetBrains Intro to Docker[Part 1 with Java Examples]

도커 컨테이너는 왜 필요할까요?

A,B,C라는 팀원이 있는 스타트업이 있다고 해봅시다. A는 Java 8을, B는 Java 11을 사용할 때 매번 설정을 다시 해서 컴파일 실행해줘야 되는 번거로움이 발생합니다. 여기에 DB, AppServer(Apache, Openliberty...)가 추가된 Web App이라면 B는 AppServer, DB를 갖춰야 컴파일 실행할 수 있습니다. Java 버전 싱크로 맞춰야겠죠. 문제는 C,D,E... 더 많은 사람들이 실행할 필요가 있단 것입니다.

컨테이너는 뭔가요?

컨테이너는 App과 Dependencies를 패키지로 만들어 실행시켜주는 컴포넌트 입니다. 컨테이너들은 Shipping Container로 묶어 표준화된 방식으로 통합될 수 있습니다. 이 과정을 도와주는 것이 Docker 입니다.

Docker

컨테이너가 필요한 이유를 설명한 위 문단에서 도커를 활용한다면, DB 컨테이너 하나와 App, App Server, JVM을 또 하나의 컨테이너로 만들 수 있습니다. 이 경우 B,C,D 등 다른 팀원들은 docker만 인스톨하면 명령어로 간단하게 실행시킬 수 있습니다.

VM vs Containers

VM은 Hardware, Host OS, Hypervisor, GuestOS(App, Dependencies)가 필요한 반면, Docker는 Hypervisor와 Guest OS를 생략할 수 있습니다.

Simple Guide to Docker

  1. Install Docker

  2. Build a docker image

  3. Run Docker Container


참고자료