Rumah > Artikel > pangkalan data > Bagaimana untuk Membetulkan Ralat \"Kegagalan Pautan Komunikasi\" Apabila Menggunakan Spring Boot, Hibernate dan MySQL Docker?
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
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!