Memulakan pangkalan data dengan skema boleh menjadi proses yang rumit, terutamanya apabila menggunakan bekas Docker. Artikel ini menangani isu biasa yang dihadapi semasa memulakan pangkalan data MySQL dengan skema menggunakan bekas Docker dan menyediakan penyelesaian berdasarkan lambakan skema ke fail dan menambahkannya pada direktori /docker-entrypoint-initdb.d.
Apabila cuba mencipta bekas Docker dengan pangkalan data MySQL dan memulakannya dengan skema menggunakan yang berikut Fail Docker:
FROM mysql MAINTAINER (me) <email> # Copy the database schema to the /data directory COPY files/epcis_schema.sql /data/epcis_schema.sql # Change the working directory WORKDIR data CMD mysql -u $MYSQL_USER -p $MYSQL_PASSWORD $MYSQL_DATABASE < epcis_schema.sql
Bekas gagal dimulakan dan arahan CMD tidak berjaya dilaksanakan.
Untuk memulakan pangkalan data dengan skema, ikut langkah ini :
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
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
docker-compose build docker-compose up
Dengan menggunakan direktori /docker-entrypoint-initdb.d, fail SQL akan dilaksanakan secara automatik terhadap pangkalan data MySQL semasa pengamulaan kontena, memastikan pangkalan data dimulakan dengan skema yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Berjaya Memulakan Skema Pangkalan Data MySQL dalam Bekas Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!