💡 개요
많은 개발자들은 배포나 실행을 위해 Docker 컨테이너 기술을 사용한다.
오늘은 왜 Docker 컨테이너를 사용하는 방법이 좋은 지 정리해 보자.
📕 Docker의 장점
많은 사람들이 프로그램을 Docker로 실행시켰다는 것을 정확히 표현하자면 해당 프로그램으로 Docker 이미지로 만들어 컨테이너 화하여 실행시켰다는 의미이다.
사실 이 문장에 Docker를 사용하는 이유가 포함되어 있다.
바로 컨테이너화이다.
만약 면접관님이 “왜 Docker 사용하셨어요?”라고 질문한다면 “도커는 프로그램을 컨테이너 화하여 동작시킬 수 있기 때문입니다!”라고 답하면 된다.
현실에서 컨테이너는 보통 화물선에서 사용된다.
각 컨테이너에는 다양한 제품이 담겨 있으며, 이 컨테이너 덕분에 화물을 안전하고 효율적으로 운반할 수 있다.
만약 컨테이너가 없으면 어떻게 될까?
제품을 그대로 배에 실어야 하므로, 날씨가 좋지 않을 때 보호하기도 어렵고, 화물 관리도 비효율적이 된다.
이와 마찬가지로, Docker의 컨테이너화 기능을 활용하면 프로그램을 격리하여 독립적으로 실행하고, 배포 및 관리가 용이해진다.
여기서 프로그램을 격리하여 독립적으로 실행하면서 얻을 수 있는 장점은 많은 데, 대표적인 장점은 독립적인 환경 구축이다.
만약 로컬에서 여러 Spring 서버를 동작시키면 해당 서버들은 모두 로컬에 설정된 JDK을 사용해야 한다.
하지만 Docker의 컨테이너로 실행된 Spring 서버는 각각 서로 다른 JDK 버전을 사용할 수 있다.
뿐만 아니라 로컬에서 Spring 서버를 여러 개 실행하면 서로 다른 포트를 사용하도록 설정해야 한다.
하지만 Docker 컨테이너는 같은 포트번호를 사용해도 상관없다.
물론 호스트의 포트번호는 달라야 한다!
'개발 일기' 카테고리의 다른 글
[개발 일기] 2025.04.01 - Blocking & Non-blocking IO (0) | 2025.04.01 |
---|---|
[개발 일기] 2025.03.31 - WSS (WebSocket Secure) (0) | 2025.03.31 |
[개발 일기] 2025.03.29 - deleteAll() vs deleteAllInBatch() (0) | 2025.03.29 |
[개발 일기] 2025.03.28 - Auto Increment Long PK vs UUID (0) | 2025.03.28 |
[개발 일기] 2025.03.27 - 커스텀 어노테이션 (0) | 2025.03.27 |