목표 같은 네트워크 안에서 postgres, redis-stack, prometheus, grafana, loki 를 한꺼번에 띄우려고 한다.
1. docker-compose.yml 네트워크 만든 후 실행 방법
원하는 네트워크를 만든다
docker network create coopang
docker-compose-dev.yml 실행한다
docker compose -f docker-compose-dev.yml up -d
2. 중간에 멈췄을 때
도커 목록 확인
docker ps -a
목록 확인 후 겹치는 이름 삭제, 또는 docker-compose.yml 에서 이름을 변경하면 됨
docker rm -f redis-stack-compose
docker rm -f postgres
3. docker-compose.yml에 포함된 것들 생성& 실행 확인
4. docker-compose.yml 파일 내용
services:
postgres:
image: postgres:latest
container_name: postgres
environment:
POSTGRES_DB: 데이터베이스
POSTGRES_USER: 유저이름
POSTGRES_PASSWORD: 비번
ports:
- "5432:5432"
networks:
- coopang
volumes:
- db_data:/var/lib/postgresql/data
- ./init.sql:/docker-entrypoint-initdb.d/init.sql # init 스크립트를 마운트
redis-stack:
image: redis/redis-stack
container_name: redis-stack-compose
restart: always
environment:
REDIS_ARGS: "--requirepass 비번"
ports:
- "6379:6379"
- "8001:8001"
prometheus:
image: prom/prometheus
container_name: prometheus
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml # Prometheus 설정 파일 마운트
ports:
- "9090:9090"
networks:
- coopang
grafana:
image: grafana/grafana
container_name: grafana
ports:
- "3000:3000"
networks:
- coopang
loki:
image: grafana/loki:3.0.0
container_name: loki
ports:
- "3100:3100"
networks:
- coopang
volumes:
- ./loki/loki-config.yml:/mnt/config/loki-config.yml # Loki 설정 파일 마운트
command: -config.file=/mnt/config/loki-config.yml
networks:
coopang:
external: true # 이미 생성된 네트워크를 사용
volumes:
db_data:
'Today I Learned' 카테고리의 다른 글
Grafana (0) | 2024.09.14 |
---|---|
prometheus (0) | 2024.09.14 |
멀티모듈 프로젝트 설정 (0) | 2024.09.12 |
쿠팡 프로젝트를 설계하면서.. (0) | 2024.09.05 |
프로젝트 발표 (0) | 2024.09.03 |