Docker
: 컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고 배포할 수 있도록 설계된 도구
하이퍼 바이저 기반 가상화이다.
👉 호스트 시스템(윈도우, 리눅스)에서 다수의 게스트 OS (가상머신)을 구동할 수 있다.
컨테이너 내부에서 수많은 소프트웨어 설치 또는 파일 수정을 해도 호스트 OS에는 영향을 끼치지 않는다.
👉 독립된 개발 환경 보장
👉 AWS, Azure, Google Cloud 등 어디서든 실행 가능하다.
도커를 사용해야하는 이유?
똑같은 일을 하는 2대의 서버가 있다 해도 A 서버는 1년전에 구성했고, B 서버는 이제 막 구성했다면 운영체제부터 컴파일러, 설치된 패키지까지 완벽하게 같기 어렵다.
👉 도커는 서버마다 동일한 환경을 구성해주기 때문에 이러한 문제를 해결할 수 있다. (Auto Scaling에 유리)
배포 방법
: 해당 컨테이너를 도커 이미지 라고 하는 일종의 패키지로 만들어 운영서버에 전달
- 사용했던 환경들을 다른 서버에서도 똑같이 복제 가능
👉 개발/운영 환경의 통합 가능
도커는 이미지 내용을 레이어 단위로 구성, 중복되는 레이어 재사용 가능
👉 배포속도 빠름
모놀리식 구조 (MA)
: 소프트웨어의 여러 모듈이 상호작용하는 로직을 하나의 프로그램 내에서 구동시키는 방식
- 서비스 기능이 복잡해질 수록 확장성, 유연성 감소
👉 이를 대체하기 위해 마이크로서비스 구조 개념 생겨남
마이크로서비스 구조 (MSA)
- 여러 모듈이 독립된 형태로 구성
-> 언어에 종속되지 않고, 모듈 관리가 쉬움
- 컨테이너 오케스트레이션 플랫폼을 통해 사용하는 것이 일반적 ex) 쿠버네티스, 도커 스웜 모드
ex) 웹서비스 ---> 데이터베이스 컨테이너
---> 웹서버 컨테이너
모놀리식 구조 vs 마이크로서비스 구조
도커 설치
윈도우 도커 엔진 설치 Docker Desktop
- 가상화기술: Hyper-V
1. 도커 다운로드
https://www.docker.com/products/docker-desktop
2 윈도우 재시작
3 도커설치 확인
> docker -v
Docker version 20.10.11, build dea9396
> docker-compose -v
참고
시작하세요 도커/쿠버네티스 -위키북스
JAVA 강의 - 패스트 캠퍼스
'도커&쿠버네티스' 카테고리의 다른 글
[도커/쿠버네티스] 4장 도커 컴포즈 (0) | 2022.01.25 |
---|---|
[도커/쿠버네티스] 3장 도커 스웜 (0) | 2022.01.18 |
[도커/쿠버네티스] 2.5장 도커 데몬 (0) | 2022.01.10 |
[도커/쿠버네티스] 2.3~2.4장 도커 이미지, 도커 파일(Dockerfile) (0) | 2022.01.05 |
[도커/쿠버네티스] 2.1~2.2장 도커엔진 - 이미지와 컨테이너 (0) | 2021.12.28 |
댓글