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

Terapkan Instalasi MariaDB Docker Produksi

Jika Anda berencana untuk menginstal MariaDB di sistem Anda, Anda mungkin ingin mengisolasinya dari sistem lainnya sehingga Anda tidak akan merusak apa pun. Memang, Anda dapat menggunakan mesin virtual, tetapi itu akan membutuhkan banyak sumber daya karena Anda harus menginstal seluruh sistem di atas yang lain. Jadi mengapa tidak menggunakan Docker untuk MariaDB?

Jika Anda memiliki perangkat keras yang terbatas, tidak masalah, Docker dapat membantu! Docker adalah solusi virtualisasi yang ringan. Dan dalam tutorial ini, Anda akan belajar men-deploy Docker produksi untuk instalasi server MariaDB di dalam container Docker dengan penggunaan resource yang lebih sedikit.

Baca terus dan jangan pernah menyia-nyiakan sumber daya Anda lagi!

Prasyarat

Tutorial ini akan menjadi demonstrasi langsung. Jika Anda ingin mengikuti, pastikan Anda memiliki yang berikut ini.

  • Mesin Linux – Demo ini menggunakan Ubuntu 20.04 LTS, tetapi semua distribusi Linux akan berfungsi.
  • Docker terpasang di mesin Anda.
  • Pengguna non-root dengan hak istimewa sudo.

Bekerja dengan Gambar Docker MariaDB

Cara terbaik untuk mulai bekerja dengan MariaDB di komputer Anda adalah dengan menggunakan image Docker resmi untuk MariaDB. Gambar tersebut berisi penginstalan MariaDB versi stabil terbaru, ditambah beberapa skrip untuk membantu Anda mengelola penampung.

1. Jalankan apt update perintah di bawah ini untuk memastikan sistem Anda mutakhir. Perintah ini mengambil daftar paket terbaru dari repositori Ubuntu dan menginstal semua paket yang tersedia.

sudo apt update -y

2. Selanjutnya, jalankan systemctl perintah di bawah ini untuk memulai docker melayani.

sudo systemctl start docker

Memulai layanan Docker tidak memberikan output. Tetapi jika Anda menjalankan perintah terkait buruh pelabuhan saat Docker tidak berjalan, Anda akan mendapatkan kesalahan berikut.

3. Jalankan docker status perintah di bawah ini untuk memastikan bahwa docker layanan sedang berjalan.

 sudo service docker status 

Di bawah ini, Anda dapat melihat layanan Docker aktif (berjalan).

4. Terakhir, jalankan gpasswd perintah di bawah ini untuk menambahkan pengguna Anda saat ini ke docker kelompok. Melakukannya memungkinkan pengguna untuk menjalankan docker perintah.

sudo gpasswd -a "${USER}" docker

Menambahkan pengguna saat ini ke docker group menyelamatkan Anda dari kesalahan berikut saat menjalankan perintah buruh pelabuhan.

5. Jalankan docker search di bawah ini perintah untuk mencari gambar MariaDB. Perintah ini mencari Docker Hub (set repositori resmi) untuk gambar yang cocok dengan mariadb dan mengembalikan hasilnya.

sudo docker search mariadb

Centang gambar apa pun yang ingin Anda gunakan untuk menginstal MariaDB. Demo ini menggunakan gambar resmi bernama mariadb karena terpelihara dengan baik.

Kolom RESMI menunjukkan status OK jika gambar adalah gambar resmi. Jika gambar tidak memiliki status OK, gambar tersebut disumbangkan oleh pengembang komunitas. Dalam hal ini, Anda harus menghubungi pengembang jika Anda memiliki masalah dengan gambar.

6. Sekarang jalankan docker pull perintah untuk mengunduh gambar yang Anda pilih (pada langkah lima) dari repositori Docker. Perintah ini mengunduh (pull ) gambar yang dipilih dari repositori resminya dan menyimpannya di mesin lokal Anda.

sudo docker pull mariadb

Saat perintah selesai, Anda akan mendapatkan versi stabil terbaru dari gambar MariaDB di server Anda, seperti yang ditunjukkan di bawah ini.

Jika Anda lebih suka menginstal versi sebelumnya, Anda dapat menggunakan tag yang tersedia untuk gambar itu. Navigasikan ke Tag gambar kolom di dockerhub untuk melihat semua versi, lalu jalankan perintah docker pull dan tentukan versi yang tepat, seperti yang ditunjukkan di bawah ini. sudo docker tarik mariadb:10.2

7. Terakhir, jalankan docker images perintah untuk membuat daftar semua gambar yang ada di server Anda. Pada titik ini, Anda harus memiliki image MariaDB Docker yang valid di server Anda.

sudo docker images

Di bawah ini, Anda dapat melihat mariadb adalah nama dari gambar buruh pelabuhan dengan tag sebagai terbaru.

Membuat MariaDB Container untuk menjalankan server MariaDB Lokal

Sekarang Anda memiliki gambar MariaDB di server Anda, Anda dapat menjalankan wadah menggunakan gambar itu. Container adalah lingkungan runtime yang terisolasi, terkontrol sumber daya, dan portabel yang berjalan di atas sistem operasi.

Anda harus terlebih dahulu membuat opt/mariadb/backup baru direktori di server Anda untuk menyimpan file cadangan yang akan Anda buat di demo ini. Mencadangkan data Anda di lingkungan produksi sangat penting sebelum membuat perubahan jika terjadi kesalahan.

Saat Anda mengubah volume internal penampung, perubahan itu akan disalin ke direktori host yang dipetakan. Jadi untuk menyimpan salinan cadangan semua data container, Anda akan membuat volume di server lokal.

1. Jalankan perintah di bawah ini untuk membuat opt/mariadb/backup direktori. -p option memastikan bahwa direktori induk ada sebelum membuat direktori ini.

Jika salah satu direktori induk di jalur tidak ada, perintah akan gagal.

sudo mkdir -p opt/mariadb/backup

2. Selanjutnya, jalankan docker run perintah di bawah ini untuk membuat wadah Docker dari mariadb gambar. Perintah ini melakukan hal berikut:

  • Peta (-v ) direktori default untuk menyimpan data MariaDB (/var/lib/mysql ) pada wadah Docker Anda di direktori Host Anda (/opt/mariadb/backup ).
  • Mendeklarasikan variabel lingkungan MariaDB (-e ) MYSQL_ROOT_PASSWORD untuk menyimpan kata sandi root untuk server MariaDB. Pastikan untuk mengganti ata123 dengan sandi aman Anda.
  • Memberitahu Docker untuk memulai container dalam mode terpisah (-d ), sehingga wadah berjalan di latar belakang. Melakukannya memungkinkan Anda meninggalkan sesi saat ini dan terus bekerja saat penampung ini berjalan di latar belakang. Jika tidak, Anda akan mendapatkan prompt kosong, dan Anda harus mematikan container yang sedang berjalan.
  • Menentukan nama wadah (--name mariadbata ) untuk membuat. Anda dapat mengganti mariadbata dengan nama unik pilihan Anda.
  • Menampilkan port MariaDB default 3306 ke mesin host (-p 3306:3306 ) (di mana layanan MariaDB mendengarkan koneksi klien Anda). Dalam kasus server produksi, Anda akan memetakan port default ke port produksi. Tapi Anda bisa mengganti 3306 dengan beberapa nomor port produksi lainnya.
sudo docker run --name mariadbata -p 3306:3306 -v /opt/mariadb/backup:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=ata123 -d mariadb

Pada titik ini, wadah dibuat dan berjalan di latar belakang, tetapi Anda tidak akan pernah bisa terlalu yakin. Jadi, Anda akan memverifikasi penampung di langkah berikutnya.

3. Jalankan docker ps perintah untuk memverifikasi apakah wadah Docker Anda aktif atau tidak.

sudo docker ps

Anda dapat melihat di bawah bahwa wadah mariadbata telah Up sejak 7 menit yang lalu, mendengarkan di port 3306 di semua antarmuka host. Anda juga dapat melihat ID (3a7fa779b559) penampung.

Anda dapat menggunakan ID unik ini untuk menghubungkan ke penampung, membuat daftar penampung, menghentikan penampung, atau menghapus penampung.

4. Sekarang, jalankan docker exec perintah di bawah ini untuk memeriksa versi server MariaDB di dalam mariadbata wadah.

sudo docker exec -it mariadbata mysql -V

Pada saat penulisan, versi terbaru mariadb adalah 10.6.5, seperti yang ditunjukkan di bawah ini, dan versi Anda mungkin berbeda. Karena MariaDB adalah cabang dari MySQL, Docker menggunakan klien mysql sebagai klien default untuk berinteraksi dengan layanan MariaDB yang ditunjukkan di bawah ini.

5. Jalankan perintah di bawah ini untuk masuk ke shell MariaDB (/bin/bash ).

sudo docker exec -it mariadbata /bin/bash

Perubahan prompt dari shell Ubuntu ke shell MariaDB, seperti yang ditunjukkan di bawah ini.

Anda dapat melihat di bawah ID penampung (3a7fa779b559) yang Anda lihat di langkah ketiga. Melihat ID penampung di prompt menunjukkan bahwa Anda sedang berada di dalam penampung mariadbata.

Saat berada di dalam wadah, Anda dapat menjalankan perintah apa pun dengan awalan sudo karena Anda sekarang adalah pengguna root wadah ini.

Misalnya, Anda dapat menjalankan perintah apt update di bawah ini untuk memperbarui database paket di dalam wadah tanpa awalan sudo.

apt update -y

6. Terakhir, jalankan exit perintah untuk meninggalkan shell MariaDB dan kembali ke shell host Ubuntu Anda.

exit

Mengakses MariaDB Shell dari Terminal Host

Anda juga dapat mengakses shell MariaDB langsung dari terminal host dengan menginstal klien MariaDB di host. Melakukannya sangat membantu dalam situasi di mana Anda tidak ingin beralih ke shell container setiap saat.

1. Jalankan apt install perintah di bawah ini untuk menginstal klien MariaDB di host Ubuntu Anda.

sudo apt install -y mariadb-client

2. Selanjutnya, jalankan docker inspect perintah di bawah ini untuk menemukan alamat IP container yang sedang berjalan.

sudo docker inspect container-name | grep IPAddress

3. Sekarang jalankan mysql perintah di bawah ini untuk terhubung ke instance database dari host Anda (-h ) dengan nama pengguna Anda (root ) dan kata sandi (-p ). Ingatlah untuk mengganti host_ip dengan alamat IP wadah Docker Anda yang sedang berjalan.

sudo mysql -u root -p -h host_ip

4. Masukkan sandi yang Anda buat sebelumnya (ata123 ) di langkah kedua saat diminta, dan Anda akan disajikan dengan prompt klien MariaDB, seperti yang ditunjukkan di bawah ini.

Anda kemudian dapat menjalankan kode SQL apa pun yang Anda perlukan untuk dijalankan di server MariaDB.

5. Terakhir, jalankan ls perintah di bawah ini untuk membuat daftar file cadangan (opt/mariadb/backup ) dari wadah MariaDB.

ls -l opt/mariadb/backup

Anda akan melihat daftar file serupa di bawah ini. Output menunjukkan Anda telah berhasil membuat cadangan wadah mariadbata. Anda dapat menyalin file ke lokasi lain di host Anda jika diperlukan.

Menghentikan dan Menghapus Penampung

Mungkin Anda ingin mengosongkan sumber daya RAM atau CPU. Jika demikian, Anda dapat menghentikan container dengan menjalankan docker stop perintah dan menentukan ID penampung atau nama penampung.

1. Jalankan salah satu perintah di bawah ini untuk menghentikan container tertentu.

# Stops Container by Container Name (mariadbata)
sudo docker stop mariadbata
# Stops Container by Container ID (3a7fa779b559)
sudo docker stop 3a7fa779b559

Pada titik ini, penampung dihentikan tetapi akan tetap hidup di host Anda, dan data tetap ada.

2. Sekarang, jalankan docker ps perintah di bawah ini untuk mendaftar semua (-a ) wadah.

docker ps -a

Seperti yang Anda lihat di bawah, penampung masih ditampilkan tetapi dalam keadaan Keluar, yang menunjukkan penampung dihentikan.

3. Terakhir, jalankan perintah di bawah ini untuk menghapus (rm ) wadah yang dihentikan (mariadbata ). Kemampuan untuk menghapus container sangat berguna ketika image Docker mungkin tidak memenuhi kebutuhan Anda, atau Anda hanya ingin memulai dari awal.

Perhatikan bahwa Anda harus menghentikan container terlebih dahulu sebelum menghapusnya dengan perintah docker rm.

sudo docker rm mariadbata

Jika Anda lebih suka menghapus seluruh penampung dengan volume datanya untuk menghemat sumber daya Anda, tambahkan opsi -v dengan perintah sudo docker seperti di bawah ini.

sudo docker rm -v mariadbata

Sekarang jalankan kembali perintah docker ps di bawah ini untuk membuat daftar semua container untuk memverifikasi container telah dihapus sepenuhnya.

docker ps -a

Seperti yang Anda lihat di bawah, mariadbata container hilang bersama semua datanya.

Kesimpulan

Dalam tutorial ini, Anda telah belajar membuat wadah MariaDB Docker di mesin host Ubuntu Anda. Anda juga belajar membuat penyimpanan persisten untuk container Docker menggunakan container volume data untuk mencadangkan data container.

Pada titik ini, Anda sekarang dapat membuat dan mengelola wadah MariaDB Docker Anda sendiri di Ubuntu.

Sekarang, mengapa tidak membangun alur kerja Buddy CI/CD menggunakan wadah MariaDB Cocker sebagai database Anda dengan pengetahuan baru ini? Atau bahkan membuat layanan MariaDB untuk aplikasi Anda?


Docker
  1. Instalasi Docker di RHEL 7 Linux

  2. Terapkan WordPress di Docker menggunakan Ansible

  3. Terapkan Nextcloud di Docker menggunakan Ansible

  1. Terraform – Menyebarkan Python Lambda (gambar kontainer)

  2. Ekstrak File Dari Gambar Docker?

  3. Cara Menyebarkan PostgreSQL sebagai Wadah Docker

  1. Cara Menyebarkan Layanan Mikro dengan Docker

  2. Cara Menyebarkan Aplikasi dengan Rancher

  3. Cara Memodifikasi Gambar Docker