Docker는 어플리케이션을 구축하고 테스트, 배포를 할 수 있도록 도와주는 소프트웨어 플랫폼이다.
docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 도구, 코드, 런타임등 소프트웨어를 실행하는데 있어 필요한 것들이 포함되어 있다.
docker를 사용하면 환경에 구애받지 않고 어플리케이션을 신속하게 배포, 확장할 수 있다는 장점이 있다.
컨테이너는 가상화 기술 중 하나이다. 기존 OS를 가상화 시키던 것과 다르게 컨케이너는 OS레벨의 가상화로 프로세스를 격리시켜 동작하는 방식으로 이루어진다.
주요기능
Docker Image : 컨테이너를 실행할 수 있는 실행파일, 설정 값들을 가지고 있는 것이다.
Docker File : 이미지 생성 출발점으로 이미지를 구성하기 위한 명령어들을 작성하여 이미지를 구성할 수 있다. 이말인즉, docker file을 읽을수만 있다면 해당 이미지가 어떻게 구성되어 있는지도 알 수 있다는 의미가 된다.
Docker Hub & Docker Registry : docker hub에서는 이미지를 저장 관리해준다, docker registry는 hub처럼 공개된 방식이 아닌 비공개적으로 격리된 저장소를 구축할 수 있다.
Docker Archtecture :