Bagaimana untuk Membetulkan \'Kegagalan Pautan Komunikasi\' dalam Boot Spring dengan Docker dan MySQL?

Patricia Arquette
Lepaskan: 2024-11-02 10:06:31
asal
423 orang telah melayarinya

How to Fix

Ralat Biasa: Kegagalan Pautan Komunikasi dalam Boot Spring dengan Docker dan MySQL

Pembangun yang menggunakan Spring Boot, Hibernate dan MySQL dalam persekitaran Docker mungkin menghadapi isu biasa yang mengakibatkan dalam mesej ralat ini:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
java.net.ConnectException: Connection refused.
Salin selepas log masuk

Ralat ini biasanya berpunca daripada rujukan hos yang salah dalam URL JDBC. Untuk menyelesaikan masalah ini, adalah penting untuk mengubah suai URL JDBC untuk menunjuk ke nama hos pangkalan data yang betul dalam persekitaran Docker.

Berikut ialah demonstrasi penyelesaian yang jelas:

1. Konfigurasi Karang Docker:

Fail docker-compose.yml yang disediakan menggunakan localhost sebagai hos untuk bekas pangkalan data MySQL, yang tidak betul dalam persekitaran Docker.

2 . Konfigurasi Karang Docker Dibetulkan:

Untuk membetulkannya, kemas kini fail docker-compose.yml seperti berikut:

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

Dalam konfigurasi yang dikemas kini ini, hos docker-mysql merujuk kepada nama bekas MySQL, yang memastikan sambungan yang betul dalam persekitaran Docker.

3. Kemas kini Konfigurasi Aplikasi But Spring:

Alih keluar sifat spring.datasource.url daripada fail application.properties. Spring Boot akan menggunakan pembolehubah persekitaran SPRING_DATASOURCE_URL untuk mengkonfigurasi URL JDBC.

Dengan melaksanakan perubahan ini, aplikasi seharusnya dapat mewujudkan sambungan yang berjaya ke pangkalan data MySQL dalam persekitaran Docker.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'Kegagalan Pautan Komunikasi\' dalam Boot Spring dengan Docker dan MySQL?. 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