


Bagaimana untuk melakukan pencerminan pangkalan data dengan docker
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
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat 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

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.

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.

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)

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)

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.

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

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.
