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

Menyemai DB MySQL untuk Aplikasi Django yang Di-Docker

MySQL (dan varian seperti Percona Server) menyediakan fasilitas untuk menyemai database pada awal kontainer pertama yang dijelaskan di bagian "Menginisialisasi instance baru" di halaman hub buruh pelabuhan .

Dockerfile yang menggunakan teknik ini akan terlihat seperti

FROM mysql:8
COPY seed-data.sql /docker-entrypoint-initdb.d/

Catatan:garis miring direktori itu penting.

Saat Anda docker run gambar ini, buruh pelabuhan akan membuat wadah, buruh pelabuhan -entrypoint.sh akan mengeksekusi skrip sql, dan kemudian wadah akan siap untuk melayani data.

Data akan tetap ada melalui restart container - data seed dan modifikasi selanjutnya.

Anda dapat menggunakan kembali container untuk waktu startup yang lebih cepat - container berikutnya tidak perlu menginisialisasi database atau seed data. Saat Anda membutuhkan data asli, hapus container dan docker run gambar lagi.

Saat Anda menghapus wadah, ingatlah untuk menghapus volume buruh pelabuhan yang berisi data db:docker rm -v $CONTAINER_NAME .

Saya menggunakan metode ini untuk menyediakan data standar untuk bahasa/kerangka POC serta CI/CD. Menginisialisasi database baru dan menyemai data dalam jumlah besar dapat memakan waktu beberapa menit sehingga Anda memerlukan beberapa logika untuk menjeda operasi otomatis hingga Anda berhasil membuat koneksi db.

Semoga ini membantu Anda dalam perjalanan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengganti pola regex di MySQL

  2. Praktik/panduan yang ada untuk pembuatan tabel yang tidak dinormalisasi selama proses normalisasi?

  3. angka acak di jawa

  4. Perlu memperbarui basis data aplikasi pengguna tunggal saya untuk memungkinkan banyak pengguna, bagaimana cara mengubah skema basis data?

  5. GALAT 1044 (42000):Akses ditolak untuk 'root' Dengan Semua Hak Istimewa