inflearn logo
강의

Course

Instructor

Complete One Full Cycle of Backend Service with Spring Boot and AWS

Package Refactoring

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

Resolved

101

jkl15451199

8 asked

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

Answer 1

0

apiece

안녕하세요 석석님!

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

 

말씀해주신 것처럼 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만 정의해두는 방식이 실무에서도 많이 쓰입니다. 이렇게 하면 포트 충돌 없이 편하게 디버깅과 개발이 가능합니다.

 

감사합니다.

upload_file_id가 1,3,4 순서인 건에 대해

0

8

1

api.basic-server.com

0

17

2

클로드

0

20

2

이거 지금 부터 들어도 괜찮을까요 ?? 시간이 꽤지난거같은데 .. 뭐 최신하고 아에 안맞을까요 .

0

11

1

aws 관련 질문드립니다.

1

60

3

twitterdb 연결이 안돼요

1

50

2

JPA Repository 질문이 있습니다!

1

82

2

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

1

64

1

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

2

123

1

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

1

73

1

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

3

180

4

영상 안보임

0

153

4

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

1

102

2

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

1

86

1

URL 오타 방지

1

79

1

배포 후 Entity 수정 관련

1

101

1

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

1

89

2

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

1

82

1

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

1

112

1

https 설정 질문

1

129

2

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

1

125

2

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

1

188

2

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

1

167

2

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

1

149

2