[24.07.02] 내일배움캠프 일차 JAVA TIL - Docker

2024. 7. 2. 15:49T.I.L

오늘 한 일

  • Web 강의 수강 - 스탠다드 이론 Docker

Docker란 ?

 

도커가 무엇인지 배우기 이전에 개발자가 배포하는 과정에 대해 알아야 한다.


Tocat : 스프링 부트 안에 포함되어있는 web server

스프링 부트를 사용만 해도 알아서 톰캣이 실행되도록 하였기 때문에 별도의 설정은 하지 않고 사용하고 있음

DB / web application / web server을 각각의 OS가 아닌 하나의 Network에서 사용하면 굉장히 편리함

개발자 입장에서 web application만 만들면 되니 엄청 편리해진다.

** local에서 실행되는 것과 외부에서 실행되는 것은 완전 다르다.

배포를 하기 위해서는 일반적으로 3대의 컴퓨터가 필요하게 된다.

굉장히 비효율적이기 때문에 여러가지 방안이 착안되었다.

1. virtual muchine - vm ware : 가상머신

OS안에 OS를 설치한 것이기 때문에, 다른 방식을 찾기 시작했다.

 

2. container

한대의 컴퓨터 안에서 각각의 완전히 분리된 software를 실행시킬 수 있다.

OS는 Host 컴퓨터에서만 가지고 있다. 하나의 OS를 나머지 컨테이너와 공유하며 사용하기 때문에

가상 머신과는 다르게 리소스를 확보할 수 있다.

Linux OS에는 이미 컨테이너가 내장되어있다. 윈도우는 아직 해당 기능은 없다.

 

 

컨테이너를 사용하는 경우, 도커의 점유율이 높아 도커를 많이 사용한다.

 

도커의 기능

1. 일치하지 않는 OS

윈도우 환경과 리눅스 환경 안에 도커를 설치하고, 도커 안에서 소프트웨어가 실행된다.

 

도커 파일을 각각의 OS에서 실행하면 도커에서 소프트웨어를 실행할 수 있다.

언제 어디서나 어떤 환경에서든 구동 가능

 

하나의 도커 위에 node, python, java 등 모든게 들어갈 수 있다.

도커 image는 완성본을 지칭한다. 이 도커 이미지를 도커 허브에 올려두고,

언제 어디서든 사용할 수 있다.