도커
컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고, 배포하고 실행할 수 있도록 설계된 도구이며 컨테이너 기반의 오픈소스 가상화 플랫폼
어플리케이션 환경에 구애받지 않고 손쉽게 배포 관리가 가능하다.
컨테이너 기반 배포 방식은 구글을 비롯해 대부분 서비스 회사가 컨테이너로 서비스 운영 중
컨테이너는 도커 이미지를 독립적인 공간에서 실행할 수 있게 해주는 기술이다.
도커는 왜 사용할까?
똑같은 일을 하는 서버가 2대가 있다고 하자. A서버는 1년 전에 구성했고 B서버는 방금 구성했다. 그럼 운영체제, 컴파일러 등의 조건이 같지가 않을 가능성이 높다.
도커는 서버마다 동일한 환경을 구성해주기 때문에 이러한 문제를 해결할 수 있다. 또, auto scaling에 유리하다.
auto scaling ? 서버 사이즈를 자동으로 조절하는 서비스
이제는 한 대의 서버에서 하나의 어플리케이션만 운영하는 방식이 아닌, 호스트 시스템에 다수의 OS, 가상머신을 구동하게 해주는 하이퍼 바이저가 등장했다.
도커 또한 하이퍼 바이저 구조를 토대로 등장했으며, VM보다 훨씬 가볍게 동작하기 때문에 성능에 유리하다.
이미지란 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같은 응용프로그램을 실행하는데 필요한 모든 것을 포함하는 패키지이다.
Dockerfile은 도커 이미지를 구성하기 위해 있어야 할 패키지, 의존성, 소스코드 등을 하나의 file로 기록하여 이미지화 시킬 명령 파일이다.
즉, 이미지는 컨테이너를 실행하기 위한 모든 정보를 가지고 있기 때문에 더 이상 새로운 서버가 추가되면 의존성 파일을 컴파일하고 이것 저것 설치할 필요가 없다.
Docker Compose는 멀티 컨테이너 도커 어플리케이션을 정의하고 실행하는 도구이다.
'공부하면서 얻은 지식들' 카테고리의 다른 글
정적 바인딩 vs 동적 바인딩 (0) | 2024.07.02 |
---|---|
개발자 소통 언어 (0) | 2023.01.23 |
정규표현식 (0) | 2023.01.02 |
CUDA (2) | 2022.12.29 |
로깅(Logging) (0) | 2022.11.27 |