반응형

환경: windows11, springboot2.7.6, java17

 

DOCKER COMPOSE?

Simplified control: Docker Compose allows you to define and manage multi-container applications in a single YAML file. 

https://docs.docker.com/compose/intro/features-uses/#:~:text=Simplified%20control%3A%20Docker%20Compose%20allows,and%20replicate%20your%20application%20environment.

 

Why use Compose?

Key benefits and use cases of Docker Compose

docs.docker.com

이미 만들어진 카프카 도커 컴포즈 파일 이용

https://github.com/wurstmeister/kafka-docker

 

GitHub - wurstmeister/kafka-docker: Dockerfile for Apache Kafka

Dockerfile for Apache Kafka. Contribute to wurstmeister/kafka-docker development by creating an account on GitHub.

github.com

참고

 

docker-compose-single-broker.yml

싱글 도커 파일 열어보면 초기에 위와 같은데 도커 이미지와 포트 포워딩 정보가 적혀있다.

기존에 도커로 작업했던 ecommerce-network와 묶이도록 아래처럼 지정, 카프카와 주키퍼는 뜨는 ip를 지하여 후에 프로젝트에서 해당 ip로 접근하도록 수정해야 함.

저장하고 docker daemon(docker desktop)을 실행한다.

아래와 같은 명령어로 docker compose 실행

docker compose로 실행하면 그 안에 여러개의 컨테이너가 들어있어도 마치 하나의 컨테이너처럼 실행 가능하다.

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

 

위 명령어를 치면 이미지를 열심히 풀링하다가 아래와 같은 에러가 발생하면서 종료된다.

time="2024-02-25T15:00:21+09:00" level=warning msg="a network with name ecommerce-network exists but was not created by compose.\nSet `external: true` to use an existing network"
network ecommerce-network was found but has incorrect label com.docker.compose.network set to ""

아까 컴포즈 파일을 열어서 수정

external 추가

다시 실행하면 정상 실행된다.

네트워크도 확인해보면 지정된 ip로 잘 떴음을 확인할 수 있다.

docker network inspect ecommerce-network

 

728x90
반응형

+ Recent posts