2022. 1. 3. 22:55ㆍ개발공부/Docker Tutorial
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
Install Docker
Build a docker image
Run Docker Container
참고자료
'개발공부 > Docker Tutorial' 카테고리의 다른 글
[Docker] "No space left on device" 에러 (0) | 2022.01.21 |
---|---|
[IntroToDocker] JetBrains Intro to Docker[Part 2 Networking, Docker Compose] (0) | 2022.01.03 |
[mosh youtube] Docker Tutorial - (1) Docker Action (0) | 2021.04.25 |