도커란? application, 시스템 환경설정, 모든 의존성을 하나의 컨테이너에 패키징 할수있는 툴이고 다른 PC에서도 사용할 수 있게 만드는 것이다.
만일 기존 회사에서는 windows, mac-os를 사용하고 리눅스를 사용하는 신입사원이 입사를 하게 된다면
개발에 필요한 모든 환경을 세팅해줘야 하는데 운영체제가 다를 경우 버전에 맞게 설치하더라도 실행이 안될 수 있다.
이후에 해결방법으로 각자 운영체제 안에 가상머신을 설치하여 Linux 운영체제로 모든 팀원들이 통일하게 되는데
단점으로 컴퓨터 안에 컴퓨터가 또 있으니까 너무 느리다.
그래서 나온 해결방법이 Docker => Dockerfile을 만들어 필요한 명령어들 실행
=> 부팅 등 운영체제의 핵심 기능(커널)을 공유하는 가상머신
=> OS 전체를 새로 설치하지 않아도되서 가벼워짐
Docker의 장점
개발/배포환경 통일
프로그램 미리 설치
가벼운 가상 컴퓨터
SSH를 꺼도 유지가 될 수 있게 백그라운드에서 사용가능