Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Sediakan MySQL dan Import Data Dengan Lancar Dalam Binaan Fail Docker Saya?

Bagaimanakah Saya Boleh Sediakan MySQL dan Import Data Dengan Lancar Dalam Binaan Fail Docker Saya?

DDD
DDDasal
2024-12-18 11:45:10892semak imbas

How Can I Seamlessly Set Up MySQL and Import Data Within My Dockerfile Build?

Fail Docker: Persediaan MySQL lancar dan Import Data

Menyediakan MySQL dan mengimport data semasa binaan Dockerfile boleh menjadi menakutkan, tetapi ia tidak mesti jadi. Mari kita atasi ralat biasa yang dihadapi oleh pembangun menggunakan coretan kod Dockerfile yang disediakan:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

Kunci untuk menyelesaikan isu ini terletak pada memahami cara imej MySQL Docker rasmi beroperasi. Dalam lelaran terbarunya, imej itu memperkenalkan ciri yang membenarkan import data semasa permulaan. Untuk memanfaatkan ciri ini, anda boleh mengubah suai fail Docker anda seperti berikut:

# Mount the data volume for persistent MySQL data storage
VOLUME ["/etc/mysql", "/var/lib/mysql"]

# Import database dump during Docker image build
ADD dump.sql /tmp/dump.sql
RUN mysql -u root -e "CREATE DATABASE mydb"
RUN mysql -u root mydb < /tmp/dump.sql

# Start MySQL daemon
CMD ["mysqld"]

Dengan menambahkan baris CMD ["mysqld"] pada penghujung, imej Docker anda akan memulakan daemon MySQL secara automatik semasa penciptaan kontena, membenarkan untuk import data semasa proses binaan.

Tambahan Pertimbangan

Jika anda inginkan data MySQL anda berterusan walaupun bekas dihentikan atau dialih keluar, pertimbangkan untuk mencipta bekas data berasingan menggunakan Fail Docker yang serupa dengan yang di bawah:

FROM n3ziniuka5/ubuntu-oracle-jdk:14.04-JDK8

VOLUME /var/lib/mysql

CMD ["true"]

Bekas data ini memastikan data MySQL anda dipelihara walaupun bekas MySQL utama tidak berjalan.

Ringkasnya, dengan memanfaatkan MySQL rasmi Ciri import data imej Docker dan menggunakan bekas data yang berasingan untuk kegigihan, anda boleh menyediakan MySQL dan mengimport data dengan lancar dalam binaan Dockerfile anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Sediakan MySQL dan Import Data Dengan Lancar Dalam Binaan Fail Docker Saya?. 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