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

Bagaimana untuk Memulakan Pangkalan Data MySQL dengan Skema Di Dalam Bekas Docker?

Linda Hamilton
Lepaskan: 2024-12-25 12:34:09
asal
187 orang telah melayarinya

How to Initialize a MySQL Database with Schema Inside a Docker Container?

Memulakan Pangkalan Data MySQL dengan Skema dalam Docker Container

Memulakan pangkalan data MySQL dengan skema dalam bekas Docker boleh mencabar. Berikut ialah penyelesaian untuk menangani isu ini:

1. Buang Skema MySQL

Buang skema MySQL anda ke fail menggunakan arahan berikut:

mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
Salin selepas log masuk

2. Tambahkan Fail Skema pada Fail Docker

Dalam Fail Docker anda, tambahkan fail skema pada direktori /docker-entrypoint-initdb.d menggunakan arahan ADD. Skrip docker-entrypoint.sh dalam bekas akan melaksanakan sebarang fail .sql dalam direktori ini terhadap pangkalan data.

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

3. Bina dan Jalankan Bekas Docker

Setelah Fail Docker diubah suai, bina dan jalankan bekas itu:

docker-compose build
docker-compose up
Salin selepas log masuk

4. Nota Tambahan

  • Pastikan bahawa pengguna MySQL mempunyai keistimewaan yang mencukupi untuk mencipta pangkalan data dan jadual.
  • Laraskan hos MySQL, nama pengguna, kata laluan dan nama skema seperti yang diperlukan .
  • Sahkan bahawa skrip docker-entrypoint.sh boleh dilaksanakan oleh pengguna root dalam bekas, seperti bertanggungjawab untuk melaksanakan pemulaan skema.

Dengan mengikuti langkah ini, anda boleh berjaya memulakan pangkalan data MySQL dengan skema dalam bekas Docker dan menghapuskan isu CMD tidak dilaksanakan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Pangkalan Data MySQL dengan Skema Di 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