컨테이너란, 애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 코드와 모든 종속성(환경설정)을 패키징 하는 소프트웨어 표준 단위다.
가상머신배포방식
에서 업그레이드 된 형태라고 할 수 있다. 아래의 그림을 보면 오른쪽의 그림은 Jypervisor(하이퍼바이저) 위에 Virtual Machine과 각각의 OS를 설치하는 형태를 가지고있는 반면 왼쪽의 그림은 AppA,B,C... 등으로 패키징 되어있다. 이 단위를 컨테이너라고 하는 것이다.도커란, 컨테이너에 필요한 기능을 거의 모두 제공하는 플랫폼이다. 애플리케이션을 구동할 때 필요한 환경설정 절차를 도커파일에 작성하고 빌드하면 도커이미지가 생성이 되고 이 이미지를 실행시키면 도커컨테이너가 만들어진다.
도커파일 : 패키지, 환경변수설정 등을 기록한 파일
이다. 이를 빌드해 도커이미지로 변환한다. (= 단지, 글)
도커이미지 : 컨테이너 실행에 필요한 파일과 설정값, 데이터 등을 포함된 상태값이며 불변
하다. 하나의 이미지에서 여러개의 컨테이너를 생성할 수 있으며 컨테이너의 상태와는 무관하게 이미지는 그대로 존재
한다. (= 이미지)
ex) 1대의 서버에 환경설정해야 한다면 미리 만들어 놓은 이미지를 다운받아서 이를 통해 컨테이너만 만들면 끝!
도커컨테이너 : 컨테이너가 실행시키면 도커이미지에 설정된 프로그램, 데이터 등이 실제 컴퓨팅자원(RAM,CPU,SSD 등)과 연결된다.
공감하며 읽었습니다. 좋은 글 감사드립니다.