본문 바로가기
개발/개발환경

[docker] docker-compose 간단한 구성과 명령어 정리

by onethejay 2023. 2. 1.
728x90
version: '3.7'
services:
  mariadb:
    container_name: mariadb
    image: mariadb
    ports:
      - "3306:3306"
    command: --lower_case_table_names=1    
    environment:
      MYSQL_ROOT_PASSWORD: password
      TZ: Asia/Seoul

  rabbitmq:
    container_name: rabbitmq
    image: rabbitmq
    ports:
      - "15672:15672"
      - "5672:5672"

  redis:
    container_name: redis
    image: redis
    ports:
      - "6379:6379"  

  zookeeper:
    container_name: zookeeper
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
      
  kafka:
    container_name: kafka
    image: wurstmeister/kafka
    depends_on:
      - zookeeper
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
      KAFKA_ADVERTISED_PORT: 9092      
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

 

docker-compose는 기본적으로 docker-compose.yml 파일을 찾아 안의 명령어를 수행하는데,

따로 이름을 지정했다면 -f 뒤에 파일명을 추가합니다.. 이름을 변경하지 않았다면 -f 명령어 생략이 가능합니다.

 

docker-compose -f docker-compose.yml up -d

docker-compose.yml 이름을 가진 파일(-f)을 백그라운드(-d)에서 실행합니다.

 

docker-compose -f docker-compose.yml down

docker-compose.yml에 작성된 서비스 컨테이너들을 종료하고 컨테이너 삭제(remove)합니다.

 

docker-compose exec rabbitmq rabbitmq-plugins enable rabbitmq_management

docker-compose.yml에 작성된 서비스들 중 exec 명령어 뒤의 이름(rabbitmq)을 가진 서비스 컨테이너에 명령을 전달합니다.(rabbitmq-plugins enable rabbitmq_management)

 

docker-compose -f docker-compose.yml start

docker-compose.yml에 작성된 서비스들 중 중지(stop) 상태의 서비스를 시작합니다.

 

docker-compose -f docker-compose.yml stop

docker-compose.yml에 작성된 서비스들 중 실행 상태의 서비스를 중지합니다.. (컨테이너가 삭제되지 않습니다.)

 

docker-compose -f docker-compose.yml restart

docker-compose.yml에 작성된 서비스들을 재시작합니다.

728x90

댓글