Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Spring Boot + docker-compose + MySQL:Koneksi ditolak

Penulisan Docker selalu memulai dan menghentikan wadah dalam urutan ketergantungan, atau urutan berurutan dalam file jika tidak diberikan. Tetapi docker-compose tidak menjamin bahwa itu akan menunggu hingga wadah ketergantungan berjalan. Anda dapat merujuk di sini untuk rincian lebih lanjut. Jadi masalahnya di sini adalah database Anda belum siap ketika spring-mysql Anda container mencoba mengakses database. Jadi, solusi yang disarankan adalah Anda dapat menggunakan tunggu-untuk-itu.sh atau skrip serupa untuk membungkus spring-mysql Anda aplikasi memulai ENTRYPOINT .

Sebagai contoh jika Anda menggunakan wait-for-it.sh ENTRYPOINT . Anda di Dockerfile Anda harus berubah menjadi berikut setelah menyalin skrip di atas ke root proyek Anda:

ENTRYPOINT ["./wait-for-it.sh", "db:3306", "--", "java", "-jar", "app.jar"]

Dan dua hal penting lainnya yang perlu diperhatikan di sini adalah:

  • Jangan gunakan tautan yang tidak digunakan lagi Anda harus menggunakan jaringan yang ditentukan pengguna sebagai gantinya. Semua layanan dalam file komposisi buruh pelabuhan akan berada di jaringan yang ditentukan pengguna tunggal jika Anda tidak secara eksplisit mendefinisikan jaringan apa pun. Jadi, Anda hanya perlu menghapus tautan dari file penulisan.
  • Anda tidak perlu memublikasikan port untuk wadah buruh pelabuhan jika Anda hanya menggunakannya di dalam jaringan yang ditentukan pengguna.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_VALUE() di MySQL

  2. Gagal memproses format-parameter dengan mysql.connector dengan Python

  3. Karakter dan dan perbedaan dalam bahasa persia - Mysql

  4. ImportError:Tidak ada modul bernama mysql.connector menggunakan Python2

  5. LocalDateTime , ZonedDateTime dan Timestamp