hmk run dev

도커란? 본문

Back-End

도커란?

hmk run dev 2022. 6. 19. 22:58

개발 작업은 개발자의 컴퓨터에서 코딩하고 테스트 후에 문제가 없으면 서버에 배포한다.

서버에서 프로그램을 구동시키기 위해선 개발자의 컴퓨터 환경과 호환이 되는 실행환경(버전)이 세팅이 되어있어야 한다.

 

ex) 노드, 파이썬, mysql 등의 버전

 

이러한 호환을 맞추기 위해 여러 공수가 들어갈 수가 있다..!

 

이를 해결하기 위한 방법은 여러 가지 방법이 있지만 현재 가장 보편적으로 많이 쓰이는 것이 바로

도커이다!

도커의 컨테이너는 

개발자가 코딩을 하고 서버에 배포할 때 코드와 설계도를 같이 서버에 보내면

서버는 그 설계대로 컨테이너들을 설치해 서비스를 실행할 수 있게 해 준다.

 

1. 매번 환경을 세팅할 공수를 해결해준다.

2. 도커 허브에선 세팅해 놓은 환경을 가져올 수 있다!

3. 이렇게 세팅해놓은 환경을 컨테이너라고 한다.

4. 도커 허브에 업로드한 환경들은 내가 지정한 형태로 어디든 설치 가능

5. 각각 컨테이너들을 독립적

 

노트북을 사더라도 크롬 깔고, 액셀 깔고, 포토샵 깔고 설치해야 하는 것들이 많다..!

 

서버는 이보다 더 복잡하다!!

 

서버는 노트북 환경 세팅보다 더 복잡한 데다가

스케일 업 스케일 아웃 같은 것이 필요해질 때도 있다..!

 

그리고 같은 서버에 여러 서비스를 돌리는 경우 

각각 다른 실행환경에서 동작해야 할 때

일이 까다로워질 수도 있다...!

 

도커는 이러한 문제들을 해결해준다!

 

도커는 요소들이 설치된 모습을 이미지란 형태로 박제해서 저장한다.

도커 이미지는 도커 허브라는 곳에 서 저장되고 다운할 수 있다.

그리고 이미지들은 함께 연결돼서 설정된 상태를 명령어나 텍스트로 저장 가능!

 

이 문서들을 잘 보관해놓고 미리 지정된, 서비스에 필요한 설정대로

도커 허브로부터 다운로드하여서 설치 가능

 

도커는 이 문서를 바로 컴퓨터에 설치하지 않고

컨테이너라는 독립된 가상공간들을 만들어 보관한다.

 

서로 다른 버전의 자바를 필요하는 서비스도 각각의 컨테이너 안에서 서로 영향을 받지 않고 실행 가능

 

도커는 가상컴퓨팅(한 컴퓨터 안에 각각 다른 os에서 실행됨 > 물리적 자원 분할 성능의 한계)

와 다르게 os 단까지 내려가지 않고 실행환경만 독립적으로 실행

 

컴퓨터에 직접 요소를 설치하는 것과 별 차이 없는 성능을 낼 수 있고

가상 컴퓨팅보다 빠르고 설치 연동 등 성능상 이점이 좋다.

 

서버에 무언가 잘못 되었을 때 일부를 업그레이드가 필요할 때

 

컨테이너를 통째로 교체하기만 하면 된다!

 

 

 

 

 

 

 

 

'Back-End' 카테고리의 다른 글

AWS Lambda  (0) 2022.04.23
Comments