1. 리눅스 컨테이너 기술


Docker는 Docker Hub이라는 소프트웨어 저장소와 함께 성장했고 개발자들이 쉽게 애플리케이션을 포장하고 컨테이너 방식으로 실행할 수 있게 된다.(실행 환경에 구애받지 않고 애플리케이션을 실행할 수 있음)

컨테이너 기술을 바탕으로 한 컴퓨터 안에 여러 대의 컨테이너가 존재하고, 이를 통해 애플리케이션 실행 환경이 격리되어 있음

2. 컨테이너 방식의 장점


  1. 의존성 충돌 문제를 해결 컨테이너 기술은 애플리케이션을 컨테이너 내에 구성함 컨테이너에서 실행 중인 애플리케이션은 어떠한 의존성도 공유하지 않고, 각자 고유의 의존성을 포함하고 있음 하나의 컴퓨터 내에 서로 다른 버전의 php가 설치될 수 있음, 컨테이너 하나하나가 애플리케이션 실행과 관련해서 높은 수준의 격리를 제공

    컨테이너가 격리하고 독립적으로 소유하는 자원들

  1. 개발과 배포 환경을 일치시킴 OS에 상관없이 즉시 애플리케이션 실행 환경을 만들 수 있음 개발을 컨테이너 위에서 진행할 경우, 모든 개발팀이 동일한 환경 하에 개발을 진행할 수 있음

****ex) 도커는 어떠한 운영체제든 상관없이 PostgreSQL을 설치하고 실행

  1. 수평 확장을 쉽게 해줌
  2. 각 서버에 새로운 내용을 배포하기 쉽게 만들어줌

3. 도커 핵심 키워드


컨테이너

애플리케이션이 의존성, 네트워크 환경, 파일 시스템에 구애받지 않고, 도커라는 기술 위에 실행될 수 있도록 만든 애플리케이션 상자(격리되어 있음)