공부기록/TIL

2023/02/02 TIL | [Cloud] 배포 컨테이너

또리머 2023. 2. 2. 18:21
반응형

💭 오늘의 학습 전략

# Docker

◼️ 핵심 키워드

 ◾컨테이너

 ◾이미지

 ◾레지스트리

◻️ 실습

 ◽이미지 생성/수정/배포

 ◽컨테이너 생성/삭제

🌼 학습한 것들

◾ "실행 환경에 구애받지 않고 애플리케이션 실행"

◾Docker (컨테이너 방식)의 장점 

 ▪️ 의존성 충돌 문제 해결

  - 애플리케이션 실행: 환경 구축 필요

의존성 충돌의 예: A, B 애플리케이션 실행에 필요한 버전이 다를 때

컨테이너 기술의 해결: 컨테이너에서 실행 중인 앱은 의존성 공유 X (실행 환경 분리)

 ▪️ 공유와 격리

  - 공유: CPU, 메모리 등 컴퓨팅 파워, 리눅스 커널 등

  - 격리: 프로세스, 네트워크(컨테이너 하나 당 하나의 IP 할당), 파일 시스템

 ▪️ 개발 - 배포 환경 일치

  - 개발: 애플리케이션 구성 자체를 컨테이너화, OS에 상관 없이 즉시 실행 환경 구성 가능

  - 배포: 파일을 컨테이너에 실어 한 번에 배포, EC2에 도커 설치 혹은 ECS 이용

 ▪️ 수평 확장 쉽게, 각 서버에 릴리즈 쉽게

  - 글로벌 웹 서비스 -> 엄청 큰 트래픽 -> 분산을 위한 프록시 서버 운영

  - 동일한 이미지를 바탕으로 새로운 서버에 컨테이너화 된 애플리케이션 실행, 로드 밸런서에 해당 서버 추가

  - 새로운 버전을 일부 서버에만 올려 운영해서 테스트 가능 (오케스트레이션 도구 ex 쿠버네티스)

◾Docker 핵심 키워드

 ▪️ 컨테이너

  - 애플리케이션이 의존성, 네트워크 환경, 파일 시스템 등에 구애받지 않도록

  - 도커 위에서 실행되는 애플리케이션 상자

 ▪️ 이미지

  - 컨테이너를 생성하기 위한, 애플리케이션 ~ 구성까지 담아놓은 템플릿

  - 여러 개의 컨테이너 생성 가능 -> 수평 확장

  - 기본 이미지(base)로부터 변경사항을 추가/커밋해서 또 다른 이미지 생성

    ex) 기본 이미지: Spring Boot / 내가 만든 애플리케이션을 추가해서 새 이미지로

 ▪️ 레지스트리

  - 이미지 저장/배포/공유

  - 대표적으로 Docker hub, Amazon ECR 등

  - 컨테이너 생성 시 호스트 컴퓨터에 이미지 없으면 자동 다운로드

◾VM과의 차이

  - 컨테이너에는 OS가 올라가지 않는다

🔥 보충이 필요한 것들

◾이미지 생성

◾실습 + Advanced

 

 

💨 하루를 마치며

1. 고래, 아쿠아리움 실습은 도커를 익히면서도 귀염뽀짝해서 좋았따

2. 게임 실습은 이미지를 다루는 법을 익히면서 재미있었다. 게임도 몇 판 했다😌

3. 그런데 실습을 계속 따라하면서 원하는 결과를 도출해내긴 했지만 혼자 제대로 할 수 있을 만큼 이해하지 못 한 것 같아서 주말을 이용해서 한 번 더 실습을 진행해보려고 한다.

4. 요즘 용량 부족 메세지가 자주 떠서 고민이 많다...^ㅡ^.............

 
반응형