Mengapa Apl Spring Boot Saya Mendapat Ralat \'Kegagalan Pautan Komunikasi\' Semasa Menyambung ke MySQL dalam Docker?

DDD
Lepaskan: 2024-11-01 16:56:02
asal
980 orang telah melayarinya

Why Does My Spring Boot App Get a

Kegagalan Pautan Komunikasi dalam Spring Boot, Hibernate, MySQL dan Docker

Apabila membina aplikasi kontena menggunakan Docker dan teknologi yang disebutkan di atas, pembangun selalunya menghadapi ralat "Kegagalan pautan komunikasi", menunjukkan masalah dengan sambungan MySQL. Isu ini berpunca daripada penggunaan rujukan "localhost" generik dalam URL JDBC, yang menjadi tidak sah dalam persekitaran Docker.

Untuk membetulkan masalah ini, ubah suai URL JDBC untuk menggunakan nama atau alamat IP yang disediakan secara dinamik bekas MySQL. Dalam fail "docker-compose.yml" yang disediakan, edit pembolehubah persekitaran "SPRING_DATASOURCE_URL" dalam perkhidmatan "app":

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

Perubahan ini mengarahkan URL JDBC untuk menyambung ke bekas MySQL menggunakan aliasnya "docker-mysql" dan port yang betul "3306". Dengan berbuat demikian, ralat harus diselesaikan dan aplikasi harus dapat mewujudkan sambungan yang berjaya ke pangkalan data.

Atas ialah kandungan terperinci Mengapa Apl Spring Boot Saya Mendapat Ralat \'Kegagalan Pautan Komunikasi\' Semasa Menyambung ke MySQL dalam 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan