본문 바로가기
Web Development/Docker

서버 배포, 운영에서 Docker쓰면 뭐가 좋냐

by doriver 2024. 7. 10.

Docker

서버를 코드로 구성하고 관리하는 방법으로써 도커

서버 구축에서 서버 환경, 구축하는 사람 차이 최소화

 

운영하면서 만들어지는 눈송이 서버들( Snowflake Servers )

A 서버는 2달 전에 구성했고 B 서버는 이제 막 구성
A서버는 잘 되는데 B서버는 왜 죽었지?

 

장애 해결에 있어서, 두 서버간 차이를 파악하는건 중요하지만

두 서버간 차이를 알아내기는 쉽지 않음

( A서버가 구성되고 운영된 과정 파악필요, A서버를 잘 아는 사람이 필요 )

 

모든 눈송이의 모양이 다르듯, 서버들도 서로 다른 모습
서로 모양이 다른 서버들이 존재하는 상황을 눈송이 서버( Snowflakes Server )

처음엔 각 서버 사이의 차이점이 작을지 모르지만, 서버를 오래 운영하다보면 점점 커져서 감당x

서버를 코드로 구성하고 관리

다양한 방식으로 서버 운영 기록을 저장해 두곤 함( 서버의 운영 기록을 코드화하려는 다양한방법들 존재 )
문서에 적힌 대로 해봐도 잘 안 되는 경우가 생김( 그때는 맞고 지금은 틀림 )
여러 서버를 한 번에 조작할 때도 특정 서버 하나만 문제를 일으키는 경우가 허다

도커 파일로 이미지를 만들어 두면, 서버가 구성되는 시점이 이미지를 만든 시점으로 고정
이 이미지를 사용해 1년 전에 A 서버에 컨테이너를 배포하고, 오늘 B 서버에 컨테이너를 배포한다고 해도 차이가 없음


덕분에 서버를 항상 똑같은 상태로 만들 수 있다

 

컨테이너를 언제 실행하든 이미지가 변하지 않았다면 컨테이너의 내용도 완전히 똑같습니다.
배포(혹은 실행)하는 시점과 상관 없이 서버의 내용을 똑같게 만들수 있음

 

서버를 만들 때 미리 실패해보는 일은 중요

도커 파일 작성 >  이미지 빌드 > 이미지 빌드 실패  > 수정  > ...  > 이미지 빌드 성공

 

여러대로 늘리기 쉬움( 확장성 )

사용자가 많이몰려 컨테이너 하나로 벅차면
도커컨테이너를 여러개 더 실행하기만 하면 된다

 

 

 

 

https://www.44bits.io/ko/post/why-should-i-use-docker-container#%EC%84%9C%EB%B2%84%EB%A5%BC-%EC%BD%94%EB%93%9C%EB%A1%9C-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B3%A0-%EA%B4%80%EB%A6%AC%ED%95%98%EB%8A%94-%EB%8B%A4%EC%96%91%ED%95%9C-%EB%B0%A9%EB%B2%95

 

왜 굳이 도커(컨테이너)를 써야 하나요? - 컨테이너를 사용해야 하는 이유

컨테이너는 서버 애플리케이션을 배포하고 서버를 운영하는 표준적인 기술이 되어가고 있습니다. 하지만 처음 사용해본다면 그 장점이 잘 와닿지 않을 수도 있습니다. 왜 굳이 도커 컨테이너를

www.44bits.io