✅ 목표
- Redis를 Docker로 실행하고
- Node.js에서 Redis에 접속해서 데이터를 저장/조회
✅ 1. 폴더 구조 만들기
mkdir redis-app
cd redis-app
mkdir src
최종 구조:
redis-app/
├── docker-compose.yml
├── package.json
├── Dockerfile
└── src/
└── index.js
✅ 2. Node.js 코드 작성
📄 src/index.js
const redis = require('redis');
const client = redis.createClient({
url: 'redis://redis:6379' // 서비스명:포트
});
client.connect();
client.on('connect', () => {
console.log('Redis 연결 성공');
});
client.get('message', 'Hello Redis!');
cleint.get('message').then((msg) => console.log('저장된 값:', msg));
🔍 redis://redis:6379 → 여기서 "redis" 는 나중에 Compose에서 정의할 컨테이너(서비스)명입니다. DNS처럼 작동합니다.
✅ 3. Node.js 의존성 설치
📄 package.json 생성
npm init -y
npm install redis
✅ 4. Dockerfile 작성
📄 Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["node", "src/index.js"]
🔍 Node.js 실행 환경을 만들고 index.js 를 기본 실행 파일로 설정합니다.
✅ 5. compose.yml 작성
📄 compose.yml
version: "3.8"
services:
app:
build: .
depends_on:
- redis
reids:
image: redis:alpine
🔍 설명:
항목 | 의미 |
app | Node.js 애플리케이션 |
build: . | 현재 폴더의 Dockerfile로 이미지 생성 |
depends_on | Redis가 먼저 실행되고 나서 app이 실행됨 |
redis | Redis 공식 경량 이미지 사용 |
✅ 6. 실행
docker compose up
✅ 7. 실행 결과 확인
터미널에 아래와 같은 메세지가 나오면 성공입니다!
Redis 연결 성공
저장된 값: Hello Redis!
✅ 마무리 정리
구성 요소 | 역할 |
Redis 서비스 | 데이터 저장소 |
Node.js 서비스 | Redis에 값 저장 및 조회 |
docker-compose | 두 컨테이너를 하나의 시스템처럼 실행 |
✅ 전체 요약 흐름
브라우저/터미널
│
└──▶ [app 컨테이너: Node.js]
│
└──▶ [redis 컨테이너: Redis 서버]
'코딩 > Docker' 카테고리의 다른 글
🐳 Docker Compose로 Spring Boot 백엔드 실행하기 (0) | 2025.07.08 |
---|---|
🐳 Docker Compose로 MySQL + Node.js 연동하기 (1) | 2025.06.30 |
🐳 자주 사용하는 Docker Compose CLI 명령어 (0) | 2025.06.26 |
🐳 Docker Compose + Nginx로 정적 웹사이트 띄우기 (0) | 2025.06.25 |
🐳 Docker Compose를 사용하는 이유 (0) | 2025.06.25 |
댓글