GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Menjalankan PostgreSQL di Docker, Panduan Cepat dan Praktis

Tutorial ini akan memandu Anda melalui cara menjalankan PostgreSQL dengan penyimpanan persisten di dalam wadah Docker dan menghubungkannya.

PostgreSQL adalah open-source, sistem manajemen database objek-relasional. Sudah ada selama lebih dari 30 tahun dan mengiklankan dirinya sebagai “database relasional open-source paling canggih di dunia.”

Pekerja Buruh telah menjadi standar dalam industri TI untuk mengemas, menyebarkan, dan menjalankan aplikasi terdistribusi dengan mudah. Container Docker memungkinkan Anda menjalankan aplikasi baru dengan cepat tanpa mengacaukan sistem Anda dengan dependensi.

Anda dapat menggunakan Docker untuk menjalankan database PostgreSQL dalam wadah sebagai server jarak jauh. Container Docker didasarkan pada standar terbuka, memungkinkan container berjalan di semua distribusi Linux utama, macOS, dan Microsoft Windows.

Jalankan PostgreSQL di Docker

Kami akan melakukannya di sini untuk mengunduh gambar PostgreSQL, memeriksa apakah gambar sudah siap, menjalankan gambar dengan parameter tertentu, dan akhirnya menghubungkan ke instance PostgreSQL yang sedang berjalan.

1. Tarik Gambar Docker Server PostgreSQL

Pertama, kita perlu mendapatkan gambar resmi PostgreSQL yang ada dari Docker Hub. Gambar tersedia untuk PostgreSQL versi 9, 10, 11, 12, dan 13. Ubah latest   tag ke versi yang diperlukan jika Anda membutuhkan rilis tertentu.

Sekarang mari kita tarik gambarnya:

sudo docker pull postgres:latest

Menggunakan perintah di atas akan menarik PostgreSQL versi terbaru yang tersedia dari repositori Docker Hub.

2. Jalankan Container dari PostgreSQL Server Docker Image

Sebelum men-deploy, Anda harus menyiapkan volume Docker atau bind mount untuk mempertahankan database Anda. Jika tidak, data Anda akan hilang saat penampung dimulai ulang. Pemasangan harus dilakukan ke /var/lib/postgresql/data direktori dalam wadah.

Kami akan membuat volume buruh pelabuhan untuk panduan ini dan melampirkannya ke wadah PostgreSQL Anda.

Perintah berikut akan membuat volume di mesin lokal Anda, yang dapat Anda sambungkan dengan wadah PostgreSQL nanti:

sudo docker volume create postgres-volume

Sekarang setelah Anda memiliki image PostgreSQL di mesin Anda dan volume untuk menyimpan data, Anda dapat menerapkan container dengan:

sudo docker run -d --name=postgres13 -p 5432:5432 -v postgres-volume:/var/lib/postgresql/data -e POSTGRES_PASSWORD=[your_password] postgres

Perintah docker run akan membuat database PostgreSQL yang berjalan dalam container Docker.

Mari kita uraikan sintaks ini. Pertama, inilah arti setiap parameter dalam perintah itu:

  • -d akan menjalankan penampung ini dalam mode terpisah untuk menjalankannya di latar belakang.
  • --name memberikan nama postgres13 ke instance container Anda.
  • -p akan mengikat port container PostgreSQL 5432 ke port yang sama pada mesin host Anda. Anda akan dapat terhubung ke localhost:5432 menggunakan klien PostgreSQL (psql ) berjalan di host Anda.
  • -v opsi ikat folder data itu di dalam volume wadah (/var/lib/postgresql ) ke volume Docker lokal (postgres-volume ) yang Anda buat di langkah sebelumnya.
  • -e menetapkan variabel lingkungan. Dalam hal ini, kata sandi root PostgreSQL.
  • postgres adalah nama gambar yang kita gunakan untuk membuat wadah.

Anda dapat memeriksa apakah container sedang berjalan dengan membuat daftar container yang sedang berjalan:

sudo docker ps
CONTAINER ID   IMAGE   COMMAND   CREATED   STATUS   PORTS   NAMES
6cb3293fe725   postgres   "docker-entrypoint.s…"   19 minutes ago   Up 19 minutes   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp   postgres13

Selamat! Instance PostgreSQL baru Anda sekarang berjalan di Docker.

Selain itu, Anda dapat memeriksa file log dari container PostgreSQL yang sedang berjalan dengan perintah berikut:

sudo docker logs postgres13

3. Hubungkan ke Server PostgreSQL

Anda bisa mendapatkan shell PostgreSQL interaktif dengan melampirkannya ke wadah dan menjalankan psql memerintah. Ini menyediakan antarmuka baris perintah PostgreSQL lengkap untuk menggunakan semua perintah dan flag yang sudah dikenal.

sudo docker exec -it postgres13 psql -U postgres

Anda juga dapat terhubung dengan instance PostgreSQL Docker menggunakan psql Klien PostgreSQL jika Anda sudah menginstalnya di host Anda.

psql -h localhost -U postgres

Kesimpulan

Salah satu kasus penggunaan paling signifikan dalam penggunaan Docker adalah kemudahan membuat dan mengakses aplikasi yang dibangun di dalam container tanpa mengkhawatirkan dependensi dan instalasi.

Dalam tutorial ini, kita belajar tentang menyiapkan server PostgreSQL menggunakan Docker alih-alih mesin host yang sebenarnya.

Dengan arsitektur layanan mikro di mana layanan mikro yang berbeda bergantung pada database mereka, menyebarkan server PostgreSQL sebagai wadah Docker telah menjadi hal biasa.

Ini juga banyak digunakan untuk eksekusi lokal atau pengujian integrasi ujung ke ujung di lingkungan yang terisolasi.

Beri tahu saya jika Anda memiliki pertanyaan atau saran, dan saya akan dengan senang hati menindaklanjutinya dengan Anda.


Docker
  1. Cara Menjalankan Nginx dalam Wadah Docker:Panduan Langkah demi Langkah

  2. perbedaan antara podman dan buruh pelabuhan.

  3. Cara Menyebarkan PostgreSQL sebagai Wadah Docker

  1. Panduan Lengkap Pemula untuk Docker Logging

  2. Panduan Cepat untuk Menggunakan Docker Compose

  3. Panduan untuk Meningkatkan ke MongoDB 5.0 dan Rocket.Chat 4.0 di Docker

  1. Apa itu Docker (dan wadah Linux?)

  2. Kapan dan Mengapa Menggunakan Docker

  3. Cara Menjalankan Perintah di Running Docker Container