본문 바로가기

Today I Learned

docker-compose.yml 네트워크 만든 후 실행 방법

목표 같은 네트워크 안에서 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