Docker와 컨테이너

정우성·2022년 2월 11일
1

Docker?

Docker는 대표적인 컨테이너를 만들고 사용할 수 있도록 하는 플랫폼 중 하나입니다.

컨테이너?

컨테이너는 동작 환경과 함께 격리한 프로세스입니다. 격리했기 때문에 외부와는 특정 인터페이스로만 상호작용이 가능합니다.

컨테이너를 왜 쓰는 것일까?

이전까지 서버에서 여러 서비스를 실행시키기 위해서는 서버에 OS뿐만 아니라 해당 서비스를 실행하기 위한 다양한 다른 프로그램들을 설치했어야 했습니다. 더해서 서로 사용하는 라이브러리나 프로그램의 버전이 다르다는 등 한 서버에서 서비스들을 위한 환경을 맞추는 과정과 관리가 복잡해 문제가 생기기 쉬웠습니다. 차라리 CPU나 RAM이 남아돌아도 다른 서버 컴퓨터에 설치하는 것이 효율 면에서는 안 좋을지 몰라도 관리 면에서는 더 낫다고 생각할 만큼 여러 서비스를 하나의 서버에서 잘 작동하도록 환경을 만들어주는 것은 여간 어려운 일이 아니었습니다.

이후 시간이 지나 마이크로 서비스 아키텍처(MSA)를 사용하게 되면서 하나의 서비스는 더 작은 서비스들로 잘게 쪼개졌고 이를 기존의 방법으로 관리하는 것은 거의 불가능에 가까울 정도가 되었습니다. 이러한 문제를 해결하기 위해 나온 방법 중 하나가 컨테이너를 사용해서 각각의 마이크로 서비스를 관리하는 것이었습니다.

컨테이너의 가장 큰 장점은 컨테이너를 사용할 수 있는 플랫폼(ex. Docker)이 존재만 하면 외부 설정과 상관없이 실행할 수 있다는 점입니다. 그렇기 때문에 서버에 Docker가 돌아갈 수 있도록 환경을 만들어준다면 어떠한 컨테이너든 실행시킬 수 있습니다. 이렇게 컨테이너 방식은 실행시키고 싶은 프로그램을 위해 굉장히 복잡하게 관리를 했던 기존 시스템의 단점을 해결해주었습니다.

0개의 댓글