Docker-compose로 spring-boot 컨테이너를 mysql SQL 컨테이너에 연결할 수없는 이유는 무엇입니까?

PinPolygons

mysql 컨테이너를 spring-boot 앱 컨테이너와 어떻게 연결할 수 있습니까? 네트워크 사용을 시도한 다음 docker-compose를 시도했지만 스프링 부팅 앱이 연결할 수없는 것 같습니다.

docker-compose.yml

version: '3'
services:
mysql-docker-container:
image: mysql:latest
environment:
  - MYSQL_ROOT_PASSWORD=root
  - MYSQL_DATABASE=my_app
volumes: 
  - /data/mysql
authenticate:
image: authenticate
build: 
  context: ./
  dockerfile: Dockerfile
depends_on:
  - mysql-docker-container
ports: 
  - "8080:8080"
volumes: 
  - /data/authentica

application.properties

#cấu hình Spring Datasource, JPA, App Properties
spring.datasource.url= jdbc:mysql://my-docker-container:3306/my_app?useSSL=false
spring.datasource.username= root
spring.datasource.password= root
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation= true
spring.jpa.properties.hibernate,dialect = org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto= update
spring.datasource.platform=mysql
spring.datasource.initialization-mode=always
#App 
pin.app.jwtSecret = pinSecretKey
pin.app.jwtExpirationMs = 86400000

이게 내 결과

그런 다음 compose에서 네트워크로 수정합니다.

version: '3'
services:
  mysql-docker-container:
    image: mysql:latest
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=my_app
    volumes: 
      - /data/mysql
    ports: 
      - "3306:3306"
    networks:
      - "my-network"
  authenticate:
    image: authenticate
    build: 
      context: ./
      dockerfile: Dockeerfile
    depends_on:
      - mysql-docker-container
    ports: 
      - "8080:8080"
    volumes: 
      - /data/authentica
    networks: 
      - "my-network"
networks:
  my-network:

다르지 않아

Adiii

서비스 이름과 연결 문자열이 다르므로 docker-compose에 정의 된 정확한 서비스 이름 또는 컨테이너 이름을 사용해야합니다.

연결 문자열을 다음으로 변경하십시오.

spring.datasource.url= jdbc:mysql://mysql-docker-container:3306/my_app?useSSL=false

최신 정보:

연결 문자열로 문제가 해결되지 않으면 두 가지 가능한 이유가있을 수 있습니다.

이 경우 depends_on:문제가 해결되지 않으므로 DB 컨테이너는 연결을 수락하는 데 시간이 걸립니다. wait-for-it으로 무언가를 하거나 애플리케이션 측에서 재시도 로직을 처리 할 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관