Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memulakan Skema Pangkalan Data MySQL dengan Amanah dalam Bekas Docker?
Memulakan pangkalan data MySQL dengan skema dalam bekas Docker ialah tugas biasa yang melibatkan penciptaan pangkalan data dan memuatkan skema ke dalamnya. Satu pendekatan untuk melakukan ini adalah dengan menggunakan Dockerfile dan arahan CMD untuk melaksanakan skrip yang memulakan pangkalan data. Walau bagaimanapun, kaedah ini mungkin menghadapi kesukaran, kerana arahan CMD hanya boleh melaksanakan satu arahan dan bukan satu siri arahan.
Untuk mengatasi isu ini, pendekatan yang lebih dipercayai ialah menggunakan arahan ADD untuk menambah pangkalan data fail skema ke direktori /docker-entrypoint-initdb.d. Selepas pembuatan kontena, skrip docker-entrypoint.sh secara automatik menjalankan mana-mana skrip SQL yang terdapat dalam direktori ini terhadap pangkalan data MySQL.
Fail Docker yang diubah suai:
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
Menyediakan Lambakan Skim:
Sebelum anda bermula, pastikan anda mempunyai longgokan skema MySQL anda yang disimpan dalam fail bernama schema.sql. Ini boleh diperolehi dengan menggunakan arahan mysqldump:
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
Memulakan Instance MySQL Docker:
Setelah Dockerfile diubah suai dan dump skema disediakan, anda boleh memulakan contoh MySQL Docker menggunakan Docker Compose:
docker-compose build docker-compose up
Dengan mengikuti langkah ini, anda boleh memulakan pangkalan data MySQL dengan berkesan dengan skema dalam bekas Docker. Direktori docker-entrypoint-initdb.d memastikan bahawa skema dimuatkan semasa pembuatan kontena, membolehkan anda mempunyai pangkalan data pra-isi dengan skema yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Memulakan Skema Pangkalan Data MySQL dengan Amanah dalam Bekas Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!