📖 Docker
✅ 컨테이너 방식의 장점
- 의존성 충돌 문제를 해결
- 개발과 배포 환경을 일치시킨다.
- 수평 확장을 쉽게 해준다.
- 각 서버에 새로운 내용을 배포하기 쉽게 만들어준다.
✅ 컨테이너의 격리, 독립적 사용
- 프로세스
- 특정 컨테이너에서 작동하는 프로세스는 기본적으로 그 컨테이너 안에서만 액세스 할 수 있다.
- 컨테이너 안에서 실행되는 프로세스는 다른 컨테이너의 프로세스에게 영향을 줄 수 없다.
- 네트워크
- 기본으로 컨테이너 하나에 하나의 IP 주소가 할당되어 있다.
- 파일 시스템
- 컨테이너 안에서 사용되는 파일 시스템은 구획화되어 있다. 그래서 해당 컨테이너에서의 명령이나 파일 등의 액세스를 제한할 수 있다.
✅ 도커와 가상 머신의 차이점
- 도커는 가상 머신만큼 견고한 격리성을 제공하지는 않습니다.
- 도커는 리눅스의 컨테이너를 이용한 기술로, OS 위에 다른 OS를 실행하는 것이 아니므로 가상 머신보다 좋은 성능을 낼 수 있다.
- 애플리케이션에 대한 환경 격리성을 중심으로 한 VM과는 달리, 도커는 Container의 관점에서 개발자와 사용자 커뮤니티를 중심으로 혜택을 제공

왼쪽의 VM의 구성 요소에 OS가 존재, 다만 도커라는 플랫폼 위에 컨테이너들이 올라가있고 그아래 호스트 OS가 존재한다.
✅ Docker Container Lifecycle
