Category: Docker Compose

0

[Docker Compose]

1. Docker Compose란?Docker Compose 는 여러 개의 컨테이너를 한 번에 정의하고 실행할 수 있게 해주는 도구입니다. 일반적으로 실무에서는 웹 서버, 데이터베이스, 캐시 서버 등 다양한 컨테이너가 함께 작동해야 하는 경우가 많은데, 이 모든 것을 일일이 docker run으로 실행하는 건 너무 번거롭습니다. Docker Compose 를 사용하면 docker-compose.yml 파일 하나로 모든 서비스를 정의하고 일괄로 실행시킬 수 있습니다. 2. docker-compose.yaml 살펴보기version: "3.9" # compose 파일 버전services: web: image: nginx ports: - "8080:80" db: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: example 3. Docker Compose 기본 명령어docker-compose.yaml 파일이 정의되면 해당 파일에 정의된 컨테이너 이미지나 환경등을 한번에 실행시켜 적용할 수 있습니다. 실행 docker compose up -d

0

Docker Compose - Kafka 클러스터 구성하기

목차 Docker Compose - Kafka 사용하기 Docker Compose - Kafka 클러스터 구성하기 zookeeper 설정version: "3.6"services: zookeeper: container_name: zookeeper image: wurstmeister/zookeeper:3.4.6 volumes: - "./zookeeper/data:/data" - "./zookeeper/logs:/datalog" ports: - "2181:2181" Kafka 설정 KAFKA_BROKER_ID KAFKA_ZOOKEEPER_CONNECT KAFKA_ADVERTISED_HOST_NAME KAFKA_ADVERTISED_PORT KAFKA_CREATE_TOPICS KAFKA_ADVERTISED_LISTENERS KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 2 version: "3.6"... kafka1: container_name: kafka1 image: wurstmeister/kafka:2.12-2.3.0 restart: on-failure ports: - "9092:9092" volumes: - /var/run/docker.sock:/var/run/docker.sock environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_HOST_NAME: 192.168.0.2 KAFKA_ADVERTISED_PORT: 9092 KAFKA_CREATE_TOPICS: "temp_topic:1:1" KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.0.2:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 2 depends_on: - zookeeper 전체 소스 코드version: "3.6"services: zookeeper: container_name: zookeeper image: wurstmeister/zookeeper:3.4.6 volumes: - "./zookeeper/data:/data" - "./zookeeper/logs:/datalog" ports: - "2181:2181" kafka1: container_name: kafka1 image: wurstmeister/kafka:2.12-2.3.0 restart: on-failure ports: - "9092:9092" volumes: - /var/run/docker.sock:/var/run/docker.sock environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_HOST_NAME: 192.168.0.2 KAFKA_ADVERTISED_PORT: 9092 KAFKA_CREATE_TOPICS: "temp_topic:1:1" KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.0.2:9092 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 2 depends_on: - zookeeper kafka2: container_name: kafka2 image: wurstmeister/kafka:2.12-2.3.0 restart: on-failure ports: - "9093:9092" volumes: - /var/run/docker.sock:/var/run/docker.sock environment: KAFKA_BROKER_ID: 2 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_HOST_NAME: 192.168.0.2 KAFKA_ADVERTISED_PORT: 9092 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.0.2:9093 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 2 depends_on: - zookeeper kafka3: container_name: kafka3 image: wurstmeister/kafka:2.12-2.3.0 restart: on-failure ports: - "9094:9092" volumes: - /var/run/docker.sock:/var/run/docker.sock environment: KAFKA_BROKER_ID: 3 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_HOST_NAME: 192.168.0.2 KAFKA_ADVERTISED_PORT: 9092 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.0.2:9094 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 2 depends_on: - zookeeper