소프트웨어는 OS와 라이브러리에 의존성이 있다. 그래서 하나의 PC에서 다른 종류의 OS 소프트웨어를 실행하려면 구성하는것에 어려움과 관리하기가 어렵다.
컨테이너(Container)
는 개별 소프트웨어 실행에 필요한 실행환경을 독립적으로 운영될수 있도록 기반 마련 또는 다른 실행환경과의 간섭을 막고 독립성을 확보해주는 운영체계 수준의 격리 기술을 의미한다.
도커(Docker)
는 컨테이너 기반으로 어플리케이션을 프로세스 격리기술을 사용하여 쉽게 컨테이너로 실행하고 관리할수 있게 해주는 오픈소스 가상화 플랫폼중 하나이다.
Docker를 사용하면 여러개의 어플리케이션을 분리하여 컨테이너로 추상화하여 독립적인 실행환경을 제공할수 있다.
주어진 하나의 호스트 OS에 별도의 OS없이 여러 컨테이너를 동시에 실행시킬수 있다.
Docker Client
: 도커를 설치하면 그것이 Client이며 build,pull,run 명령어를 수행한다.
Dokcer_HOST
: 도커가 실행되있는 서버를 의미한다.
Docker daemon(Docker Engine)
: 컨테이너를 생성하고 관리하는 주체로서 컨테이너를 제어할수 있고 다양한 기능을 제공한다.
Registry
: 외부 저장소를 의미한다. 사람들이 공유한 이미지를 내부 도커 호스트에 pull하여 사용할수 있다. public, private(Docker Hub) 저장소가 존재
도커 엔진(Docker Engine)에서 사용하는 기본단위는 도커 이미지
와 도커 컨테이너
이다.
Docker file
Docker Image
[저장소 이름(Docker Hub)]/[이미지 이름]:[태그]
의 형태로 구성된다.Docker Container