Docker Compose 단일 서버에서 여러 컨테이너를 프로젝트 단위로 묶어서 관리해주게 해주는 기능을 말합니다. `docker-compose.yml` 파일을 통해 명시적으로 관리가 가능합니다. 장점 프로젝트 단위로 도커 네트워크 볼륨 관리가 용이함. 프로젝트 내 서비스 간 의존성 정의 가능함. 프로젝트 내 서비스 디스커버리 자동화 가능. (서비스 도메인으로 호출이 가능) 손 쉬운 컨테이너 수평 확장 가능. 용어 프로젝트(Project) 도커 컴포즈에서 다루는 워크스페이스 단위를 의미합니다. 하나의 `yml` 파일이라고 생각하면 됩니다. 그리고 프로젝트는 함께 관리하는 서비스 컨테이너의 묶음이기도 하고 기본 도커 네트워크를 생성합니다. 서비스(Service) 도커 컴포즈에서 컨테이너를 관리하기 위한 중..
Docker 이미지를 경량화하는 데는 여러 가지 방법이 있습니다. 경량화를 통해 이미지 크기를 줄이고 실행 속도를 향상시킬 수 있습니다. 아래에는 Docker 이미지 경량화를 위한 몇 가지 일반적인 방법을 설명합니다 필요한 패키지 및 파일만 추가 `node.js`의 경우 설치한 `module`이 저장되는 `node_module`을 이미지화 하는데 제외하여 관리하는 것이 경량화 방법 입니다. 컨테이너 레이어 수 줄이기 `Dockerfile` 을 실행시 작동되는 `run` 명령어들을 `&&` 연산자를 통해 하나의 `RUN` 명령어로 변경하여 경량화를 할 수 있습니다. RUN \ apk add --no-cache bash curl git && \ git clone https://github.com/course..
이미지를 압축 및 풀기 `save` 명령어를 통해 이미지를 압축 할 수 있습니다. # docker save -o [저장될 파일명] [이미지명]:[태그] docker save -o my-app-v2.tar my-app:v `load` 명령어를 통해 압축을 풀 수 있습니다. #docker load -i [파일명] docker load -i my-app-v2.tar 도커허브 사용하기 우선 도커허브에 회원가입을 해주도록 합니다. Docker Hub Container Image Library | App Containerization Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker ..
Module 이란 Nest.js에서는 Module은 하나의 애플리케이션을 담당을 하고 있다고 볼 수 있습니다. MSA(Micro Service Architeture)가 인기있는 요즘 이러한 Module을 기준으로 구분하여 분리 할 수 있도록 의존성을 구분하면 좀 더 관리가 용이한 서비스가 나올 것입니다. 그렇다면 이러한 Module의 구성은 어떻게 되는지 알아보도록 하겠습니다. 구성 Module은 데코레이터를 통해 정의 할 수 있습니다. 그리고 설정 되는 값은 크게 아래 4개로 나뉘어 집니다. Controllers: 요청을 처리하고 응답을 반환하는 로직을 담당합니다. Providers: 다양한 형태의 서비스, 리포지토리, 팩토리 등을 포함하며, 이들은 주입을 통해 컨트롤러나 다른 프로바이더에 사용됩니다...
Provider Spring을 하다보면 자주 듣게 되는 용어 DI(의존성 주입) 그러한 의존성 관리를 해주는 IOC 컨터네이가 Spring에는 존재하고 있습니다. 하지만 Nest.js에서는 아직 의존성을 관리해주는 기능은 없어 명시적으로 입력을 해주어야 하는데 이때 사용되는 것이 Provider 입니다. Provider에는 다양한 방식과 형태로 의존성을 제공하고 있습니다. 이번 글에서 한번 어떻게 사용되고 있는지 보도록 하겠습니다. Nest.js가 아니라 spring으로 보는 의존성 주입에 대한 내용입니다. 의존성 주입에 대한 개념이 헷갈리신다면 보시는 것을 추천드립니다. Spring이란? (DI 와 IOC) Spring Spring이란 JAVA기술들을 더 쉽게 사용할 수 있게 해주는 오픈소스 프레임 워..
Authentication Bearer 이란 Bearer Authentication 또는 Bearer Token Authentication은 HTTP 인증 스키마 중 하나로, 주로 OAuth 2.0 또는 JWT (JSON Web Token)와 같은 토큰 기반 인증에서 사용됩니다. 이 방식은 서버에 요청을 보낼 때 Authorization 헤더를 사용하여 토큰을 전달하는 방법을 말합니다. 헤더는 대략 다음과 같은 형태를 가집니다. Authorization: Bearer YOUR_ACCESS_TOKEN 여기서 Bearer는 이 토큰을 지니고 있는 클라이언트가 요청 권한을 가지고 있음을 나타내는 접두어입니다. 이후에 공백을 두고 실제 토큰 (YOUR_ACCESS_TOKEN)이 옵니다. 서버는 이 헤더를 받아 ..