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

Bagaimana untuk Berjaya Memulakan Skema Pangkalan Data MySQL dalam Bekas Docker?

Susan Sarandon
Susan Sarandonasal
2024-12-04 06:41:101019semak imbas

How to Successfully Initialize a MySQL Database Schema within a Docker Container?

Cara Memulakan Pangkalan Data MySQL dengan Skema dalam Bekas Docker

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.

Penerangan Masalah

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.

Penyelesaian

Untuk memulakan pangkalan data dengan skema, ikut langkah ini :

  1. Buang skema MySQL ke fail menggunakan:
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
  1. Tambahkan fail skema pada direktori /docker-entrypoint-initdb.d dalam Dockerfile:
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
  1. Mulakan contoh MySQL Docker menggunakan:
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!

Kenyataan:
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