Daily Notebook

[Doker] What is a Container?

by 배부른코딩로그
Container라는 용어는 필수적으로 언급되는데, 자세히 알아보자!

컨테이너란?

도커의 컨테이너(Container)란, 표준화된 소프트웨어 단위다. 컨테이너 각각은 하나의 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 애플리케이션을 빠르고 안정적으로 실행할 수 있도록 패키징된 묶음체이다. 컨네이너는 특정 애플리케이션의 코드와 모든 종속성을 패키징하여 가지고 있다. 그러면, 표준화된 소프트웨어 단위는 무엇을 의미할까? 컨테이너에 패키징된 코드와 모든 종속성들이 애플리케이션을 실행하기 위해 표준화 되어있음을 의미하는 것 같다.

 

도커 컨테이너 이미지(Docker container image)는 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같은 응용 프로그램을 실행함에 필요한 모든 것을 포함하는 경량화된, 표준화된, 독립 실행형 소프트웨어 패키지입니다. 컨테이너 이미지는 런타임에 컨테이너가 되며, 도커 컨테이너인 경우 도커 엔진(Docker engine)에서 실행될 때 이미지가 컨테이너가 된다.

 

 

Linux 또는 Windows 기반 애플리케이션 모두에서 사용할 수 있는 컨테이너형 소프트웨어는 인프라에 관계없이 항상 동일하게 실행된다. 컨테이너는 소프트웨어 환경과 분리할 수 있음을 나타낸다. 예를 들어 개발 및 스테이징 간의 차이에도 불구하고 컨테이너는 균일하게 작동한다.

 

도커 엔진에서 작동하는 도커 컨테이너 특징:

  • 표준(Standard)
    Docker는 컨테이너에 대한 업계 표준을 만들어 어디에서나 휴대가 가능하다.
  • 경량(Lightweight)
    컨테이너는 기계의 OS 시스템 커널을 공유하므로 애플리케이션당 OS가 필요하지 않다.
    이에 따라, 서버 효율성이 향상되고 서버 및 라이센스 비용이 절감된다.
  • 보안(Secure)
    애플리케이션은 컨테이너에서 더 안전하며, Docker는 업계에서 가장 강력한 격리 능력을 갖추고 있다.

 

도커 컨테이너는 어디서든 작동한다.

Docker Container는 Linux, Windows, Data center, Cloud, Serverless 등 어디에서나 사용할 수 있다(주요 장점).

특히, 리눅스 세계에서는 cgroup 및 네임스페이스로 알려진 기본 컴퓨팅 개념을 활용했다. Docker의 기술은 개발자와 시스템 운영자가 인프라에서 애플리케이션 종속성을 분리해야 하는 요구사항에 초점을 맞추고 있다.

 

 

 

[공식] https://www.docker.com/resources/what-container

 

반응형

블로그의 정보

배부른코딩로그

배부른코딩로그

활동하기