Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memulakan Pangkalan Data MySQL dengan Skema Pratakrif dalam Bekas Docker?

Bagaimana untuk Memulakan Pangkalan Data MySQL dengan Skema Pratakrif dalam Bekas Docker?

Mary-Kate Olsen
Lepaskan: 2024-12-09 06:39:07
asal
296 orang telah melayarinya

How to Initialize a MySQL Database with a Predefined Schema in a Docker Container?

Memulakan Pangkalan Data MySQL dengan Skema dalam Docker

Isu

Pengguna Docker menghadapi kesukaran untuk memulakan pangkalan data MySQL dengan skema yang telah ditetapkan menggunakan Dockerfile. Walaupun mengikuti garis panduan dokumentasi, arahan CMD yang bertujuan untuk menjalankan skrip skema gagal, menghalang penciptaan kontena yang berjaya.

Penyelesaian

Penyelesaian melibatkan pendekatan berurutan:

  1. Buang Skema MySQL ke Fail:
    Eksport skema pangkalan data ke fail menggunakan perintah mysqldump.
  2. TAMBAH Fail Skema ke Bekas Docker:
    Dalam Fail Docker, gunakan arahan ADD untuk menyalin fail schema.sql ke direktori /docker-entrypoint-initdb.d. Direktori ini membenarkan pelaksanaan automatik skrip pada permulaan pangkalan data.
  3. Mulakan Instance MySQL Docker:
    Mulakan bekas Docker menggunakan imej MySQL yang ditentukan dan fail Docker yang dikemas kini.

Contoh Fail Docker:

FROM mysql:5.7.15

MAINTAINER me

ENV MYSQL_DATABASE=<schema_name> \
    MYSQL_ROOT_PASSWORD=<password>

ADD schema.sql /docker-entrypoint-initdb.d

EXPOSE 3306
Salin selepas log masuk

Nota Tambahan:

  • Skrip docker-entrypoint.sh secara automatik akan melaksanakan semua fail dengan ".sql" sambungan dalam direktori /docker-entrypoint-initdb.d.
  • Kaedah ini membenarkan untuk memulakan pangkalan data MySQL dengan skema semasa pembuatan kontena, menghapuskan keperluan untuk campur tangan manual.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Pangkalan Data MySQL dengan Skema Pratakrif dalam Bekas 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan