inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Hoàn thành một chu trình dịch vụ backend với Spring Boot và AWS

Tái cấu trúc package

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

Đã giải quyết

69

jkl15451199

8 câu hỏi đã được viết

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

Câu trả lời 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만 정의해두는 방식이 실무에서도 많이 쓰입니다. 이렇게 하면 포트 충돌 없이 편하게 디버깅과 개발이 가능합니다.

 

감사합니다.

Entity 동등성 비교

0

4

1

Docker + Spring Boot CI/CD 방법

0

7

1

docker compose에 대해 질문드립니다.

0

17

1

패키지 구분에 대해 궁금한게 있습니다

0

12

1

iam 권한

0

15

1

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

0

21

2

JPA Repository 질문이 있습니다!

1

34

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