💡 컨테이너는 소프트웨어마다 실행에 필요한 실행 환경을 독립적으로 운용할 수 있도록 기반 환경 또는 다른 실행 환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영 체계 수준의 격리 기술을 말한다.
가상화 방법
- 가상 머신
- Hypervisor라는 것으로 컴퓨터가 가지고 있는 리소스를 가상머신 별로 배분하며, 각 VM에서는 독립적인 Guest OS를 가지고 있다.
- 독립적인 플랫폼을 하나씩 증가 시킬 때마다 불필요한 OS를 만드는 작업을 계속 해야한다. - 확장성이 떨어진다.
- 컨테이너
- 컨테이너는 하나의 Host OS위에서 각각의 독립적인 프로그램처럼 관리되고 실행되어서 불필요한 OS를 만드는 작업을 하지 않고 독립적으로 인프라를 나눌 필요가 없어서 확장성이 좋고 빠르다.
도커 컨테이너란?
- 이미지를 통해 실행한 인스턴스이다.
- DOCKER api를 이용하여 컨테이너를 생성, 시작, 중지, 이동, 삭제할 수 있다.
이미지란?
- 컨테이너 생성에 필요한 모든 파일과 설정값 등을 포함하고 있는 읽기 전용 템플릿이다.
- 이미지는 상태값을 가지지 않고 불변성을 가진다. 그리고 docker hub에 등록되고 관리된다.
- docker daemon이 api 요청을 수신하고 이미지, 컨테이너, 네트워크와 같은 서비스를 관리한다.
참고