Rumah  >  Artikel  >  pangkalan data  >  MySQL dan PostgreSQL: Amalan Terbaik dalam Persekitaran Kontena

MySQL dan PostgreSQL: Amalan Terbaik dalam Persekitaran Kontena

王林
王林asal
2023-07-12 09:21:311427semak imbas

MySQL dan PostgreSQL: Amalan Terbaik dalam Persekitaran Kontainer

Dengan perkembangan pesat teknologi pengkomputeran awan dan kontena, semakin banyak perusahaan mula menggunakan aplikasi mereka dalam bekas. Menjalankan pangkalan data dalam bekas adalah keperluan biasa, dan MySQL dan PostgreSQL ialah dua pilihan pangkalan data yang popular. Artikel ini akan meneroka amalan terbaik untuk menggunakan MySQL dan PostgreSQL dalam persekitaran kontena dan menyediakan beberapa kod sampel.

  1. Pilih imej pangkalan data yang sesuai

Dalam persekitaran kontena, memilih imej pangkalan data yang sesuai ialah langkah pertama yang penting. Docker Hub ialah sumber hebat yang menyediakan sejumlah besar imej pangkalan data rasmi dan diselenggarakan komuniti. Untuk MySQL, anda boleh menggunakan imej yang disediakan secara rasmi, seperti mysql:latest. Untuk PostgreSQL, anda boleh menggunakan imej yang disediakan secara rasmi, seperti postgres:latest.

  1. Mengkonfigurasi bekas pangkalan data

Menjalankan pangkalan data dalam bekas memerlukan konfigurasi yang sesuai. Untuk MySQL dan PostgreSQL, anda boleh menggunakan pembolehubah persekitaran untuk mengkonfigurasi bekas. Berikut ialah contoh konfigurasi bekas MySQL:

docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=mysecretpassword mysql:latest

Arahan ini mencipta bekas MySQL bernama mysql-container dan menetapkan kata laluan pengguna root kepada mysecretpassword.

Begitu juga, untuk mengkonfigurasi bekas PostgreSQL, anda boleh menggunakan arahan berikut:

docker run -d --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword postgres:latest

Arahan ini mencipta bekas PostgreSQL bernama postgres-container dan menetapkan kata laluan pengguna postgres kepada mysecretpassword.

  1. Konfigurasikan storan berterusan

Dalam persekitaran bekas, kitaran hayat bekas adalah sementara, dan apabila bekas dimulakan semula, data dalam bekas akan hilang. Oleh itu, untuk mengekalkan data merentas permulaan semula bekas, storan berterusan perlu dikonfigurasikan. Untuk MySQL dan PostgreSQL, direktori data boleh dipasang pada sistem fail hos. Berikut ialah contoh bekas MySQL yang memasang direktori data:

docker run -d --name mysql-container -v /path/to/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword mysql:latest

Dalam contoh ini, /path/to/data ialah direktori pada hos, dan bekas MySQL akan menyimpan data dalam direktori ini.

Untuk PostgreSQL, anda boleh melekapkan direktori data dengan cara yang sama:

docker run -d --name postgres-container -v /path/to/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=mysecretpassword postgres:latest
  1. Gunakan rangkaian kontena untuk menyambung ke pangkalan data

Dalam persekitaran kontena, bekas mungkin perlu berkomunikasi antara satu sama lain. Untuk menyambung ke pangkalan data dalam bekas, anda perlu menggunakan rangkaian kontena untuk menyambung. Berikut ialah contoh sambungan antara bekas MySQL dan bekas aplikasi:

# 创建数据库容器
docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=mysecretpassword mysql:latest

# 创建应用程序容器,并连接到数据库容器
docker run -d --name app-container --link mysql-container:mysql your-app-image

Dalam contoh ini, bekas aplikasi berkomunikasi dengan pangkalan data MySQL dengan memaut ke mysql-container.

Cara yang sama boleh digunakan untuk PostgreSQL menyambung ke bekas aplikasi:

# 创建数据库容器
docker run -d --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword postgres:latest

# 创建应用程序容器,并连接到数据库容器
docker run -d --name app-container --link postgres-container:postgres your-app-image
  1. Sandaran Pangkalan Data Kontainer

Menyandarkan pangkalan data adalah bahagian yang sangat penting dalam pengurusan pangkalan data. Dalam persekitaran kontena, anda boleh menggunakan fungsi sandaran bekas untuk melaksanakan sandaran pangkalan data. Berikut ialah contoh menyandarkan data bekas MySQL:

docker exec mysql-container mysqldump -u root -pmysecretpassword --all-databases > backup.sql

Arahan ini melaksanakan perintah mysqldump dalam bekas bekas mysql untuk mengeksport semua data pangkalan data ke fail backup.sql.

Begitu juga, arahan serupa boleh digunakan untuk menyandarkan data bekas PostgreSQL:

docker exec postgres-container pg_dumpall -U postgres > backup.sql

Arahan ini melaksanakan perintah pg_dumpall dalam bekas bekas-postgres untuk mengeksport semua data pangkalan data ke fail backup.sql.

Ringkasan

Artikel ini membincangkan amalan terbaik untuk menggunakan MySQL dan PostgreSQL dalam persekitaran kontena dan menyediakan beberapa kod sampel. Memilih imej pangkalan data yang sesuai, mengkonfigurasi bekas pangkalan data, mengkonfigurasi storan berterusan, menggunakan rangkaian kontena untuk menyambung ke pangkalan data, dan sandaran pangkalan data kontena adalah langkah penting untuk menggunakan MySQL dan PostgreSQL dalam persekitaran kontena. Dengan mengkonfigurasi dan mengurus bekas pangkalan data dengan betul, anda boleh memastikan perkhidmatan pangkalan data berprestasi tinggi dan boleh dipercayai dalam persekitaran kontena.

Atas ialah kandungan terperinci MySQL dan PostgreSQL: Amalan Terbaik dalam Persekitaran Kontena. 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