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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat 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)

Soalan Temuduga Docker: Ace Wawancara Kejuruteraan DevOps Anda Soalan Temuduga Docker: Ace Wawancara Kejuruteraan DevOps Anda Apr 06, 2025 am 12:01 AM

Docker adalah kemahiran yang mesti ada untuk jurutera DevOps. 1.Docker adalah platform kontena sumber terbuka yang mencapai pengasingan dan mudah alih dengan aplikasi pembungkusan dan kebergantungan mereka ke dalam bekas. 2. Docker bekerja dengan ruang nama, kumpulan kawalan dan sistem fail bersekutu. 3. Penggunaan asas termasuk mencipta, menjalankan dan menguruskan bekas. 4. Penggunaan lanjutan termasuk menggunakan DockerCompose untuk menguruskan aplikasi multi-kontainer. 5. Kesilapan umum termasuk kegagalan kontena, masalah pemetaan pelabuhan, dan masalah ketekunan data. Kemahiran penyahpepijatan termasuk log melihat, memasukkan bekas, dan melihat maklumat terperinci. 6. Pengoptimuman prestasi dan amalan terbaik termasuk pengoptimuman imej, kekangan sumber, pengoptimuman rangkaian dan amalan terbaik untuk menggunakan Dockerfile.

Jilid Docker: Menguruskan data berterusan dalam bekas Jilid Docker: Menguruskan data berterusan dalam bekas Apr 04, 2025 am 12:19 AM

Dockervolumes memastikan data tetap selamat apabila bekas dimulakan semula, dipadam, atau berhijrah. 1. Buat Jilid: DockervolumecreatemyData. 2. Jalankan bekas dan gunung: dockerrun-it-vmydata:/app/dataubuntubash. 3. Penggunaan lanjutan termasuk perkongsian data dan sandaran.

Cara mengemas kini imej Docker Cara mengemas kini imej Docker Apr 15, 2025 pm 12:03 PM

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Cara keluar dari bekas dengan Docker Cara keluar dari bekas dengan Docker Apr 15, 2025 pm 12:15 PM

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)

Cara menyalin fail di Docker ke luar Cara menyalin fail di Docker ke luar Apr 15, 2025 pm 12:12 PM

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara memulakan semula Docker Cara memulakan semula Docker Apr 15, 2025 pm 12:06 PM

Cara memulakan semula bekas Docker: Dapatkan ID Container (Docker PS); Hentikan bekas (Docker Stop & lt; container_id & gt;); Mulakan bekas (Docker Start & lt; container_id & gt;); Sahkan bahawa permulaan semula berjaya (Docker PS). Kaedah lain: Docker mengarang (Docker-Compose Restart) atau Docker API (lihat Dokumentasi Docker).

Docker Security Hardening: Melindungi bekas anda dari kelemahan Docker Security Hardening: Melindungi bekas anda dari kelemahan Apr 05, 2025 am 12:08 AM

Kaedah Peningkatan Keselamatan Docker termasuk: 1. Gunakan parameter-cap-drop untuk menghadkan keupayaan Linux, 2. Buat bekas baca sahaja, 3 set tag Selinux. Strategi ini melindungi bekas dengan mengurangkan pendedahan kelemahan dan mengehadkan keupayaan penyerang.

See all articles