컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴이다.
애플리케이션을 컨테이너(Container) 라는 가상화된 격리 환경에서 실행할 수 있도록 도와주는 오픈소스 플랫폼입니다.
애플리케이션과 그 실행에 필요한 모든 것을 포함한, 격리된 실행 환경입니다.
하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성해서, 각 환경에 프로그램을 별로도 설치할 수 있게 만들었습니다.
하나의 큰 컴퓨터를 호스트(host) 컴퓨터
호스트 컴퓨터 내에서의 여러 개의 미니 컴퓨터를 컨테이너(Container)

컨테이너(Container)의 독립성
독립적인 컴퓨터 환경을 가지고 있습니다.
디스크(저장 공간) : 각 컨테이너마다 서로 각자의 저장 공간을 가지고 있습니다. 일반적으로 A의 컨테이너 내부에서 B 컨테이너 내부에 있는 파일에 접근할 수 없습니다.
네트워크 (IP, PORT) : 각 컨테이너마다 고유의 네트워크를 가지고 있습니다.
컨테이너는 각자의 IP 주소를 가지고 있습니다.
도커(docker) 이미지를 저장하고 공유할 수 있는 이미지 공식 중앙 저장소입니다.
[최신 버전( latest ) 이미지 다운로드]
docker pull [이미지명]
[특정 버전 이미지 다운로드]
docker pull 이미지명:태그명
docker image ls

docker image rm [이미지명 또는 이미지 ID]

[중지된 컨테이너에서 사용하고 있는 이미지 강제 삭제하기]
docker image rm -f [이미지명 또는 이미지 ID]

이미지를 바탕으로 컨테이너를 생성한 뒤, 컨테이너를 실행까지 시킨다.
docker run 이미지명[:태그명] : 포그라운드(foreground)에서 실행시킵니다.

docker run -d 이미지명[:태그명] : 백그라운드(background)에서 실행시킵니다.
docker run -d -p [호스트 포트]:[컨테이너 포트] 이미지명[:태그명] : 호스트의 포트와 컨테이너의 포트를 연결합니다.
docker run -d -p 4000:80 nginx 라고 명령어를 입력하면, 도커를 실행하는 호스트의 4000번를 컨테이너 80번 포트와 연결합니다.