Docker와 Ngrok을 활용

2024. 10. 12. 14:25카테고리 없음

728x90
반응형

1. 서론

현재 온라인 사이드 프로젝트를 진행 중이며, DevOps 환경이 아직 구축하지 못해, 하지만 프론트엔드와의 통신을 위해 Docker와 Ngrok을 활용하여 외부에서 접근할 수 있는 환경을 설정하는 방법을 공유하고자 합니다. NestJS 애플리케이션을 Docker 컨테이너에서 실행하고, Ngrok을 통해 외부 IP를 사용할 수 있도록 만드는 과정을 설명합니다.

 

2. Dockerfile 작성

2.1 Dockerfile 기본 구조

NestJS 애플리케이션을 위한 Dockerfile을 작성하는 것이 첫 번째 단계입니다. 아래는 기본적인 Dockerfile 예시입니다.

# Base image
FROM node:18.20.4-alpine

# # Create app directory
RUN mkdir -p /var/app
WORKDIR /var/app

# Copy package.json and package-lock.json
COPY package*.json ./

# Install dependencies
RUN npm ci

# Copy app source
COPY . .

# Build the app
RUN npm run build

# Expose ports for both applications
EXPOSE 9000

# Start Elasticsearch and NestJS
CMD ["node", "dist/src/main.js"]

 

2.2 Docker 이미지 빌드 및 실행

Dockerfile이 준비되면, 다음 명령어로 Docker 이미지를 빌드하고 컨테이너를 실행합니다.

# 1. Docker 이미지를 빌드합니다.
docker build -t your-nestjs-app .

# 2. Docker 컨테이너를 실행합니다.
docker run --name nestjs-container -p 9000:9000 -d your-nestjs-app

 

3. Ngrok 설정

3.1 Ngrok 설치 및 실행

Ngrok은 로컬 서버에 대한 공용 URL을 제공하여 외부에서 접근할 수 있도록 도와줍니다. Ngrok을 설치한 후, 다음 명령어로 실행합니다.

ngrok http 9000
728x90
반응형