도커를 왜 배울까?

IP가 특정 서버의 주소이고 PORT(한 서버 내에서 실행되고 있는 특정 프로그램의 주소)를 통해서 열어주는 것은 알고 있다! 근데 그럼 우리가 naver.com:80 처럼 IP:PORT 형식으로 입력해야 네이버 들어가져야 하는 거 아닌가?!

브라우저(크롬, 익스플로러 등)는 기본적으로 80번 포트로 통신을 보내게 설정되어 있다!!

그렇다면 도커란 ? → 컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴이다.

컨테이너란? → 하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성해서 프로그램을 별도로 설치할 수 있게 만든 개념.

image.png

위의 그림에서 컨테이너를 포함하고 있는 컴퓨터를 호스트(Host) 컴퓨터 라고 부른다.

각각의 컨테이너는 독립적인 디스크(저장공간), 네트워크(IP, PORT)를 지니고 있다! → 각 컨테이너에 접근하려면 네트워크를 통해서 접근해야겠네!

이미지(Image)란

프로그램을 실행하는 데 필요한 설치 과정, 설정, 버전 정보 등을 포함하고 있다. 즉, 프로그램을 실행하는 데 필요한 모든 것을 포함하고 있다.

예시로, MySQL 서버를 이미지로 만들었다면, 이 이미지를 Docker로 실행시키는 순간 MySQL 서버가 컨테이너(Container) 환경에서 실행된다. MySQL을 일일이 설치할 필요없이 MySQL 데이터베이스를 사용할 수 있게 된다