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
반응형