


Bagaimana untuk melakukan pencerminan pangkalan data dengan docker
Apr 26, 2023 am 10:27 AMDocker pada masa ini ialah teknologi kontena paling popular, yang boleh membungkus aplikasi dan kebergantungannya ke dalam bekas bebas dan berjalan dalam persekitaran yang berbeza. Pangkalan data ialah komponen teras aplikasi, dan menjalankan pangkalan data dalam Docker ialah senario yang sangat biasa kerana ia menyediakan cara yang mudah, selamat dan boleh berulang untuk menguji, menggunakan dan menskalakan aplikasi pangkalan data.
Jadi, bagaimana untuk mencipta imej pangkalan data dalam Docker? Langkah-langkah untuk mencipta cermin pangkalan data MySQL diterangkan secara terperinci di bawah.
1. Muat turun imej MySQL rasmi
Imej MySQL rasmi boleh dimuat turun dari Docker Hub Kami boleh menggunakan arahan berikut untuk memuat turun imej MySQL dari Docker Hub:
docker pull mysql/mysql-server
2. Cipta imej MySQL tersuai
Walaupun kami boleh menggunakan imej MySQL rasmi secara langsung, ia mungkin tidak memenuhi keperluan kami, seperti fail konfigurasi, skrip permulaan, sandaran data, dsb. Oleh itu, kita mesti mencipta imej tersuai berdasarkan imej rasmi untuk memenuhi keperluan kita.
1. Cipta Fail Docker
Fail Docker ialah fail teks yang mengandungi satu siri arahan untuk membina imej Docker. Kami menggunakan imej rasmi MySQL sebagai asas, dan kemudian mencipta imej tersuai dengan menambahkan fail konfigurasi, skrip permulaan, sandaran data, dsb.
Dalam contoh ini, kami mencipta Dockerfile dengan kandungan berikut:
FROM mysql/mysql-server # 安装telnet和net-tools RUN yum update && yum install -y telnet net-tools # 添加自定义配置文件 ADD my.cnf /etc/mysql/my.cnf # 添加初始化脚本 ADD init.sql /docker-entrypoint-initdb.d/ # 添加数据备份 ADD backup.sql /tmp/backup.sql
Penjelasan Dockerfile di atas adalah seperti berikut:
- FROM mysql/ mysql -server: Gunakan imej rasmi MySQL sebagai imej asas.
- RUN yum update && yum install -y telnet net-tools: Pasang telnet dan net-tools.
- TAMBAH my.cnf /etc/mysql/my.cnf: Tambahkan fail konfigurasi tersuai my.cnf ke direktori /etc/mysql/.
- TAMBAH init.sql /docker-entrypoint-initdb.d/: Tambahkan skrip permulaan init.sql pada direktori /docker-entrypoint-initdb.d/.
- TAMBAH backup.sql /tmp/backup.sql: Tambahkan backup data backup.sql ke direktori /tmp/.
2. Bina imej
Dalam contoh ini, kami telah menyediakan fail Dockerfile, fail konfigurasi tersuai, skrip permulaan, sandaran data dan sumber lain. Seterusnya, anda perlu melaksanakan arahan berikut dalam direktori di mana fail Dockerfile terletak untuk membina imej:
docker build -t my-mysql:latest .
Antaranya, -t digunakan untuk menamakan imej, dan :latest bermaksud untuk digunakan versi terkini.
3. Jalankan bekas MySQL
Sekarang kami telah berjaya mencipta imej MySQL tersuai, kami akan menjalankan imej dalam bekas dan menetapkan nama kepada bekas:
docker run -d -p 3306:3306 --name my-mysql -v /data/mysql:/var/lib/mysql my-mysql
Antaranya, -d bermaksud menjalankan bekas di latar belakang, -p memetakan port 3306 kontena ke port 3306 hos, dan -v memetakan direktori /data/mysql hos ke /var/lib/mysql bekas directory , my-mysql mewakili nama bekas.
Kini kita boleh menggunakan alat klien MySQL untuk menyambung ke bekas MySQL dan menguji bahawa ia berfungsi dengan baik.
mysql -h 127.0.0.1 -P 3306 -u root -p
4. Kesimpulan
Melalui proses ini, kami telah mempelajari cara mencipta imej MySQL tersuai dalam Docker dan menjalankan imej. Ini menjadikannya lebih mudah untuk menguji, menggunakan dan menskalakan aplikasi pangkalan data. Dalam projek sebenar, kami boleh menambah lebih banyak konfigurasi tersuai dan skrip permulaan seperti yang diperlukan, serta data sandaran dan pemulihan serta fungsi lain.
Atas ialah kandungan terperinci Bagaimana untuk melakukan pencerminan pangkalan data dengan docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara Menggunakan Docker Exec untuk menjalankan arahan dalam bekas Docker

Bagaimanakah saya menggunakan aplikasi ke kluster Swarm Docker?

Adakah Docker adalah persekitaran atau perisian

Bagaimanakah saya membuat skala aplikasi di Kubernet?

Apakah pod, penyebaran, dan perkhidmatan Kubernetes?
