[CI/CD] Docker 기초 지식

컨테이너란?

실제 컨테이너는 다양한 물건을 저장하고, 목적지까지 운반하는 데 사용한다.

이러한 컨테이너의 개념을 컴퓨터, 소프트웨어 상에서 이용하기 때문에 도커라는 게 있다.

IT 분야의 컨테이너

소프트웨어 개발에 필요한 코드나 버전 세팅 같은 것들을 싹 다 묶어서 컨테이너로 만든다.

그리고 컨테이너를 운반해서 모든 환경에서 똑같이 실행 할 수 있게 한다.



그래서 도커를 왜 사용함?

도커는 컨테이너를 만들고 관리하는 도구이다. 컨테이너를 만들고 실행하고 배포할 수 있게 도와준다.

도커를 검색하고 블로그들을 보면 모두 “컨테이너 기반 오픈 소스 가상화 플랫폼”이다. 라고 말한다.

  • Docker - VM 처럼 운영체제를 통째로 가상화하지 않고, 프로그램이 필요로 하는 환경만 실행할 수 있다.

ECS(Elastic Container Service)

ECS를 이해하려면 Docker를 이해해야한다. 왜냐하면 ECS는 컨테이너 관리 서비스이기 때문이다.

Docker 컨테이너를 AWS 환경에서 이용하고 싶은 경우

  • 과거 - EC2위에 도커를 설치해서 서비스를 구축했다.
  • 현재 - ECS를 사용한다. (AWS가 ECS를 출시했다.)

ECS를 이용하면 EC2를 설치하고 Docker를 설치하는 과정이 필요 없다.

ECS는 컨테이너 인스턴스를 실행하고 EC2 인스턴스 또는 AWS Fargate화 같은 관리형 컨테이너 플랫폼에서 실행된다.

ECS 모드

2가지 모드가 있다.

  • ECS on EC2 - 일반적인 컴퓨팅
  • ECS Fargate - 서버리스 컴퓨팅

서버리스 - 서버를 관리하지 않아 신경 쓸 필요가 없다.

 


ECR (Elastic Container Registry)

AWS 관리형 컨테이너 이미지 레지스트리 서비스이다. (안전하고 확장가능하고 신뢰할 수 있다. )

  • S3로 Docker Image를 관리하고, AWS IAM 인증을 통해 이미지를 관리한다.

ECR 기능

  • 이미지의 수명 주기를 관리한다.
  • 교차 리전 및 교차 계정 복제를 통해 이미지 배치를 쉽게 한다.
    • 컨테이너 이미지를 여러 AWS 계정 및 리전에서 쉽게 복사 할 수 있다.

'DevOps > CI & CD' 카테고리의 다른 글

[CI/CD] GitLab 기초 지식  (0) 2024.09.30
[CI/CD] 이중화 기초 지식  (1) 2024.09.23
[CI/CD] Storage 기초 지식  (0) 2024.09.23
[CI/CD] Gitlab Vs Github  (5) 2024.09.23
[CI/CD] CI/CD 기초 지식  (2) 2024.09.20