일단 그냥 모듈로 해서 띄워봤다.

그 다음 도커 컨테이너로 띄웠다
service-a, service-b
FROM openjdk:21
VOLUME /tmp
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
이미지 생성 및 컨테이너 실행
# In service-b's directory
./gradlew clean bootJar
docker build -t img-service-b .
docker network create my-network
docker run -d --name service-b \
--network my-network \
-p 18081:8080 \
img-service-b
# In service-b's directory
./gradlew clean bootJar
docker build -t img-service-a .
docker run -d --name service-a \
--network my-network \
-p 18080:8080 \
-e SERVICE_B_URL=http://service-b:8080 \
img-service-a


그 다음은 docker-compose.yml을 써서 띄워봤다.
services:
service-a:
image: img-service-a
ports:
- "18080:8080"
environment:
- SERVICE_B_URL=http://service-b:8080
depends_on:
- service-b
service-b:
image: img-service-b
ports:
- "18081:8080"
networks:
default:
driver: bridge


Docker Compose는 네트워크를 설정해주지 않았다!
Docker Compose는 자동으로 네트워크를 생성하며, 이 네트워크는 docker-compose.yml 파일이 있는 디렉토리의 이름을 기반으로 합니다. 네트워크의 이름은 다음과 같은 형식으로 생성됩니다
“directoryname_default”
