Rumah Operasi dan penyelenggaraan Docker Bagaimana untuk melakukan pencerminan pangkalan data dengan docker

Bagaimana untuk melakukan pencerminan pangkalan data dengan docker

Apr 26, 2023 am 10:27 AM

Docker 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
Salin selepas log masuk

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
Salin selepas log masuk

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 .
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Menggunakan Docker Exec untuk menjalankan arahan dalam bekas Docker Cara Menggunakan Docker Exec untuk menjalankan arahan dalam bekas Docker Mar 05, 2025 pm 03:42 PM

Cara Menggunakan Docker Exec untuk menjalankan arahan dalam bekas Docker

Apa itu Docker? Apa itu Docker? Mar 05, 2025 pm 03:49 PM

Apa itu Docker?

Bagaimanakah saya menggunakan aplikasi ke kluster Swarm Docker? Bagaimanakah saya menggunakan aplikasi ke kluster Swarm Docker? Mar 17, 2025 pm 04:20 PM

Bagaimanakah saya menggunakan aplikasi ke kluster Swarm Docker?

Adakah Docker adalah persekitaran atau perisian Adakah Docker adalah persekitaran atau perisian Mar 05, 2025 pm 03:38 PM

Adakah Docker adalah persekitaran atau perisian

Bagaimanakah saya membuat skala aplikasi di Kubernet? Bagaimanakah saya membuat skala aplikasi di Kubernet? Mar 17, 2025 pm 04:28 PM

Bagaimanakah saya membuat skala aplikasi di Kubernet?

Apa itu Docker? Apa itu Docker? Mar 05, 2025 pm 03:39 PM

Apa itu Docker?

Apakah pod, penyebaran, dan perkhidmatan Kubernetes? Apakah pod, penyebaran, dan perkhidmatan Kubernetes? Mar 17, 2025 pm 04:25 PM

Apakah pod, penyebaran, dan perkhidmatan Kubernetes?

Apa itu Docker? Apa itu Docker? Mar 05, 2025 pm 03:46 PM

Apa itu Docker?

See all articles