inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기

패키지 리팩토링

EC2 <-> RDS 연동 후 로컬에서의 Docker에 대해 궁금한 점이 있습니다.

해결된 질문

69

석석

작성한 질문수 8

1

services:
  springboot-twitter:
    container_name: springboot-twitter
    image: springboot-twitter:latest
    ports:
      - "8080:8080"
    environment:
      - SPRING_DATASOURCE_URL=jdbc:mysql://mysql-twitter:3306/twitterdb
      - SPRING_DATASOURCE_USERNAME=dev
      - SPRING_DATASOURCE_PASSWORD=dev123
    networks:
      - twitter-network
    depends_on:
      mysql-twitter:
        condition: service_healthy

  mysql-twitter:
    container_name: mysql-twitter
    image: mysql:9.3
    environment:
      MYSQL_ROOT_PASSWORD: root123
      MYSQL_DATABASE: twitterdb
      MYSQL_USER: dev
      MYSQL_PASSWORD: dev123
    healthcheck:
      test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ]
      interval: 10s
      timeout: 5s
      retries: 5
    ports:
      - "3307:3306"
    networks:
      - twitter-network

networks:
  twitter-network:
    driver: bridge

로컬 환경에서 mysql에 대한 이미지가 떠있어야 spring boot application을 실행해야 DB connection도 잘 이루어진다고 이해했습니다.

 

여기서 궁금한 점이 있습니다.

aws mysql docker spring-boot jpa

답변 1

0

한조각

안녕하세요 석석님!

좋은 질문 주셔서 감사합니다.

 

말씀해주신 것처럼 docker compose up -d를 실행하면 compose 파일에 정의된 모든 서비스가 함께 실행됩니다. 따라서 springboot-twitter 컨테이너도 동시에 올라가게 되고, 이 상태에서 로컬 IDE에서 Spring Boot 애플리케이션을 다시 실행하면 이미 컨테이너가 8080 포트를 사용 중이기 때문에 8080 already in use 오류가 발생하게 됩니다. 이 현상 자체는 정상적인 동작입니다.

 

이럴 경우 로컬 개발 단계에서는 DB만 Docker로 띄우고, 애플리케이션은 IDE에서 직접 실행하는 방식을 가장 많이 사용합니다. 즉, 말씀하신 것처럼 docker compose up -d mysql-twitter 처럼 특정 서비스만 실행하거나, 아예 로컬 전용 compose 파일을 만들어 MySQL만 정의해두는 방식이 실무에서도 많이 쓰입니다. 이렇게 하면 포트 충돌 없이 편하게 디버깅과 개발이 가능합니다.

 

감사합니다.

iam 권한

0

11

1

수강기간 연장 가능하실까요?

0

17

2

스프링부트 서버 에러나요

0

17

1

코드를 첨부해야하는 이유가 있나요?

0

19

2

2026.04에 추가된 강의 시청 불가

0

22

1

강의 듣는 중인데,

0

23

1

JPA Repository 질문이 있습니다!

1

33

2

페이지네이션 처리를 쿼리에서 하는 방식 질문

1

36

1

EC2 실습 중 docker-compose / docker ps 실행 시 권한 오류 문의

2

71

1

gradlew, java -jar 로 애플리케이션 실행시키기에서

1

49

1

application.yaml에서 enabled: true 인식 안됨

3

116

4

영상 안보임

0

87

4

중간 결과물을 다운 받을 수 있는 곳이 있나요?

1

78

2

여러 컨테이너 사용시 사용할 포트 번호는 무엇으로 하면 되나요?

1

62

1

URL 오타 방지

1

58

1

배포 후 Entity 수정 관련

1

78

1

EC2 HTTPS에 관련하여 질문 드립니다!

1

62

2

Docker에 관하여 궁금한 점이 있습니다!

1

58

1

댓글 생성, 삭제 시 게시글의 댓글 수 증감 로직 질문

1

79

1

https 설정 질문

1

97

2

섹션 5-26. AWS EC2 서버 배포 파트 질문입니다.

1

98

2

강의내용 중 질문드립니다.

1

153

2

jakarta persistence 플러그인은 intellij ultimate에서만 사용가능하다고 나오네요.

1

133

2

다운받은 강의자료 압축풀기가 안되요

1

120

2