Bagaimana untuk Membetulkan Ralat \'Kegagalan Pautan Komunikasi\' Apabila Menggunakan Spring Boot, Hibernate dan MySQL Docker?

Patricia Arquette
Lepaskan: 2024-11-02 17:05:29
asal
647 orang telah melayarinya

How to Fix

Membetulkan Ralat "Kegagalan pautan Komunikasi" dalam But Spring, Hibernate & MySQL Docker Setup**

Semasa menjalankan aplikasi Spring Boot dengan Hibernate & MySQL dalam persekitaran dockerized, pengguna mungkin menghadapi ralat "Kegagalan pautan komunikasi" disebabkan rujukan localhost dalam URL JDBC. Begini cara untuk menangani isu ini:

Masalah:

Ralat berlaku kerana URL JDBC dalam kod aplikasi merujuk "localhost" sebagai hos pangkalan data. Walau bagaimanapun, dalam persediaan Docker, pangkalan data MySQL berjalan dalam bekas berasingan dengan alamat IP yang berbeza.

Penyelesaian:

Untuk menyelesaikan isu ini, kemas kini JDBC URL dalam fail docker-compose.yml untuk menunjuk kepada nama bekas MySQL dan bukannya "localhost":

docker-compose.yml

version: '3'

services:
  docker-mysql:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=database
      - MYSQL_USER=root
      - MYSQL_PASSWORD=root
    ports:
      - 3307:3306

  app:
    image: app:latest
    ports:
       - 8091:8091
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://docker-mysql:3306/database?autoReconnect=true&useSSL=false
    depends_on:
       - docker-mysql
Salin selepas log masuk

Penjelasan:

Dalam docker-compose yang dikemas kini .yml, pembolehubah persekitaran SPRING_DATASOURCE_URL dalam bekas "apl" ditetapkan untuk merujuk kepada bekas MySQL oleh namanya, "docker-mysql." Ini memastikan aplikasi boleh menyambung ke bekas pangkalan data MySQL dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'Kegagalan Pautan Komunikasi\' Apabila Menggunakan Spring Boot, Hibernate dan MySQL Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!