도커 (Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈소스 프로젝트이다.
→ 컨테이너 기반의 오픈소스 가상화 플랫폼
2013년 3월 산타클라라에서 열린 Pycon Conference에서 dotCloud의 창업자인 Solomon Hykes가 The future of Linux Container라는 세션을 발표하면서 처음 세상에 알려졌다.
도커 컨테이너 (Docker Container)
컨테이너는 격리된 공간에서 프로세스가 동작하는 기술이다. 가상화 기술의 하나이다. (but 기존의 방식과는 차이가 있다)
하나의 서버에 여러 개의 컨테이너를 실행하면 서로 영향을 미치지 않고 독립적으로 실행된다. 실행중인 컨테이너에 접속하여 명령어를 입력할 수 있고, 여러 개의 프로세스를 백그라운드로 실행할 수도 있다. CPU나 메모리 사용량을 제한할 수 있고 호스트의 특정 포트와 연결하거나 호스트의 특정 디렉토리를 내부 디렉토리인 것처럼 사용할 수 있다.
도커 이미지 (Docker Image)
컨테이너를 만들 때 사용되는 읽기 전용(Read-only) 템플릿이다.
컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 도커파일을 만든 후 Dockerfile을 빌드하여 이미지를 만든다.