728x90
1. 서버를 관리한다는것
- 어떠한 프로그램이 동작할때 잘돌고 있지만 뒤 즉, 서버단은 매우복잡한 논리의 집합으로 돌아가고 있는것
- 수많은 로직들중에 하나라도 잘못되어있을경우, 전체가 돌아가지 않는다
- 서버를 관리한다는것은 이많은 논리의 집합을 오류없이 잘돌아가도록 관리하는것
- 하지만 너무 잦은 개발환경의 변화로 인해 리소스의 낭비가 심해졌다
- 이를 해결하기위해 도커가 등장했다.
2. 서버관리 방식의 변화
- 전통적인 서버관리방식
- user추가 -> system환경 -> 방화벽 -> ... -> proxy서버 -> 서버 실행
- 매우 복잡한 여러 방식들을 하나하나 만들어 서버를 실행시켜야함
- 이중 하나라도 문제가 생겼을때 전체적으로 오류가 발생함
- 도커의 등장으로 인해..
- user컨테이너, chat 컨테이너...와 같이 여러 기능들을 하나의 컨테이너처럼 독립적으로 실행시킬수 있음
- 하나의 오류가 생기더라도 독립적으로 실행되고 있기때문에 문제가 없고 매우 효율적으로 서버 동작
- 가상머신과 비교
- 매우빠르다
- 초기 환경 세팅을 일일이 할필요가 없다
- 따라서 매우 효율적이다
3. 도커의 등장 배경
- 서버 실행 방법 문서화
- 서버를 실행할때 설치할 과정이나 주의점을 문서화를 통해 후임자나 다른사람에게 공유
- 이문서가 정확할지? 누락된 부분이 있어 그대로 실행안됨...과 같은 문제점이 있음
- 상태관리 도구 도입(chef, puppet, ansible...)
- webserver, library등 문서로만 적혀있는것이 아닌 코드로 관리함으로써 환경을 공유하고 쉽게 설치 하게 개선
- 각각의 서버, 여러 환경때문에 제대로 적용이 안되는 문제점이 있음
- 가상머신
- 여러 기능등을 각각의 가상머신에 설치한뒤 이 가상머신을 관리할수 있는 서버에 띄어둠
- 한서버에 여러개 설치가 가능하고, 현재의 상태를 저장할수 있는 엄청난 이점
- 처음부터 다시 셋팅할대 어려움이 있음, 매우느림, 공유하기 어려운 문제점이 있음
- 도커의 등장!
- 컨테이너: 격리된 환경에서 작동하는 프로세스
- 하드웨어 가상화 기술보다 가벼움
- 이미지 단위의 프로세스 실행 환경을 구성
- 즉, 위의 여러 문제점을 모두 개선한 컨테이너 기술!
4. 도커의 장점
- 확장성/이식성
- 도커가 설치되어 있다면 어디서든 컨테이너 실행 가능
- 쉽게 개발서버를 만들수 있고 테스트서버 생성또한 간편함
- 표준성
- 도커를 사용하지 않는 경우 여러 프레임워크로 만든 서비스들의 배포 방식이 매우 다양함
- 컨테이너라는 표준으로 서버를 배포하므로 모든 서비스들의 배포 과정이 동일해짐
- 이미지
- 컨테이너를 실행하기위한 하나의 압축 파일과 같음
- 이미지에서 컨테이너를 생성하기 때문에 반드시 이미지를 만드는 과정 필요
- Dockerfile을 이용하여 이미지를 만들고 처음부터 재현 가능
- 설정관리
- 설정은 보통 환경변수로 제어
- 하나의 컨테이너를 띄울때 환경변수를 같이 지정
- 자원관리
- 컨테이너는 삭제 후 새로 만들면 모든 데이터가 초기화됨
- 업로드 파일을 외부 스토리지와 링크하여 사용하거나 s3같은 별도의 저장소가 필요함
ref. 인프런 강의. 초보를 위한 도커 안내서를 보고 참고하여 정리하였습니다.
Docker - 도커란 무엇인가
도커, 도커를 사용하는 이유, 도커의 특징 이해
wooody92.github.io
초보를 위한 도커 안내서 - 인프런 | 강의
도커를 1도 모르는 입문자, 초보자분들을 위한 도커 안내서 입니다. 복잡한 내용을 제외하고 도커가 왜 인기가 많고 어떻게 사용하는지 빠르게 익힐 수 있도록 집중하였습니다., 데브옵스 입문
www.inflearn.com
728x90
'기술 > Devops' 카테고리의 다른 글
aws(2)VPC(Virtual Private Cloud) (0) | 2022.04.19 |
---|---|
aws(1)S3(Simple Storage Services) (0) | 2022.04.19 |
도커(4)-이미지 (0) | 2022.01.19 |
도커(3)-도커 컴포즈 (0) | 2022.01.17 |
도커(2)-도커 설치와 실행 (0) | 2022.01.17 |