Lewati ke konten utama

Cara Menyiapkan dan Mengonfigurasi MySQL di Docker

Pelajari cara menyiapkan dan mengonfigurasi database MySQL di dalam kontainer Docker. Tutorial ini mencakup konsep seperti menyambung ke server MySQL, menjalankan klien MySQL untuk terhubung ke kontainer, dan seterusnya.
· 12 mnt Baca

Jelajahi bersama AI

MySQL adalah alat basis data relasional paling populer, dengan pangsa pasar lebih dari 40%. Dibandingkan dengan para pesaingnya, PostgreSQL (16%) dan Oracle Database (11%), angkanya terlihat sangat baik.

MySQL populer karena sederhana namun bertenaga. Berikut fitur-fiturnya yang terbaik:

  • Relasional: mengikuti model relasional dan menggunakan SQL untuk mengelola basis data.
  • Sumber terbuka (lisensi GNU): komunitas menyukainya. Perusahaan juga menyukainya.
  • Dapat diskalakan: dapat menangani aplikasi dari skala kecil hingga tingkat enterprise.
  • Aman: menawarkan autentikasi pengguna, manajemen akses, dan enkripsi.
  • Kinerja tinggi: dikenal dengan kecepatan dan efisiensinya dalam menangani kueri kompleks dan volume data besar.
  • Replikasi dan pencadangan: memiliki opsi untuk replikasi dan pencadangan data, memungkinkan strategi pemulihan bencana.

Adapun menggunakan MySQL di dalam kontainer Docker, yah, itu benar-benar pasangan serasi di awan. Jika Anda pernah bekerja dengan Docker sebelumnya, semua keuntungannya juga berlaku untuk kontainer MySQL:

  • Isolasi dan konsistensi: instance MySQL akan diisolasi dari perangkat lunak dan dependensi lain, mencegah potensi konflik
  • Kontrol versi: Docker memungkinkan Anda melakukan versioning seluruh tumpukan perangkat lunak beserta MySQL. Ini berarti Anda dapat mereproduksi lingkungan kapan saja, memudahkan pengembangan dan pengujian.
  • Skalabilitas dan manajemen sumber daya: Dengan Docker, Anda dapat menskalakan aplikasi MySQL dengan mudah mengalokasikan lebih banyak sumber daya seperti memori atau CPU.
  • Manajemen dependensi: Docker membungkus instance MySQL Anda, memungkinkan Anda mengelola berbagai versinya tanpa mengganggu apa pun di mesin lokal Anda.

Yang paling penting, aplikasi MySQL Anda akan berjalan di mana saja, bukan hanya di komputer Anda.

Jika Anda ingin membandingkan MySQL dengan kompetitor terpopuler kedua, lihat perbandingan mendalam kami PostgreSQL vs. MySQL.

Jadi, hari ini, Anda akan mempelajari dasar-dasar menjalankan MySQL bersama Docker. Mari kita mulai!

Prasyarat

Karena artikel ini berfokus pada kontainer MySQL Docker, ada beberapa prasyarat untuk mengikutinya:

  • Akses command line/terminal: Anda memerlukan lingkungan lokal dengan akses terminal. Jika Anda berada di lingkungan Jupyter seperti Colab, harap beralih sekarang.
  • Instance Docker yang berjalan: Anda sebaiknya sudah memasang Docker Desktop (instruksi ada di tutorial Docker for Data Science kami). Ketika sudah sepenuhnya operasional, bagian kiri bawah antarmuka akan menampilkan paus bayi berwarna hijau:

image2.png

dan perintah docker --help berfungsi tanpa error di terminal.

  • Keakraban dasar dengan Docker: meskipun saya akan menjelaskan semua perintah yang digunakan dalam artikel, pemahaman dasar tentang Docker akan sangat meningkatkan manfaat yang bisa Anda peroleh dari artikel ini.
  • SQL: hal yang sama berlaku untuk SQL — saya tidak akan menjelaskan perintah SQL apa pun yang digunakan dalam artikel ini, karena akan menyimpangkan kita dari topik utama. Jika keterampilan SQL Anda agak berdebu, Anda dapat meninjau kembali topik paling penting dari kursus SQL ini.

Mengunduh Image Docker MySQL Resmi

Kita akan mulai dengan mengunduh image Docker MySQL resmi dengan perintah berikut:

$ docker pull mysql:latest

docker pull memerlukan nama dan versi image dengan sintaks image:version. Menggunakan kata kunci latest akan mengunduh rilis stabil terbaru.

Jika Anda mengunjungi halaman image MySQL resmi di Docker Hub, Anda dapat melihat banyak versi lain untuk berbagai tujuan.

image3.png

Berikut cara mengunduh v8.2, sebagai contoh:

$ docker pull mysql:8.2

Setelah Anda mengunduh image, image tersebut akan terdaftar di antara image Docker yang sudah ada:

image4.png

Mendaftar image Docker juga bisa dilakukan melalui terminal:

$ docker images

image5.png

Ingat: Image Docker adalah cetak biru untuk membangun kontainer. Sama seperti cetak biru memungkinkan Anda membangun rumah, image Docker berisi semua instruksi dan komponen yang diperlukan untuk membuat instance aplikasi atau layanan yang berjalan.

Jika Anda berasal dari latar belakang OOP, anggap image Docker sebagai kelas. Sama seperti membuat satu kelas memungkinkan Anda membuat banyak objek, image Docker memungkinkan Anda membuat banyak kontainer darinya.

Menjalankan dan Mengelola Kontainer Server MySQL

Sekarang, mari kita buat kontainer pertama dari image mysql. Berikut perintah yang akan kita gunakan:

$ docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=strong_password -d mysql
  • run: membuat kontainer baru atau memulai yang sudah ada
  • --name CONTAINER_NAME: memberikan nama pada kontainer. Namanya harus mudah dibaca dan singkat. Dalam kasus kita, namanya adalah test-mysql.
  • -e ENV_VARIABLE=value: tag -e membuat variabel lingkungan yang akan dapat diakses di dalam kontainer. Sangat penting untuk menetapkan MYSQL_ROOT_PASSWORD agar kita dapat menjalankan perintah SQL dari dalam kontainer nanti. Pastikan untuk menyimpan kata sandi kuat Anda di tempat yang aman (bukan di otak Anda).
  • -d: singkatan dari detached, tag -d membuat kontainer berjalan di latar belakang. Jika Anda menghapus tag ini, perintah akan terus mencetak log hingga kontainer berhenti.
  • image_name: argumen terakhir adalah nama image yang akan digunakan untuk membangun kontainer. Dalam kasus ini, image kita adalah mysql.

Jika perintah mengembalikan string panjang yang tampak acak (ID kontainer), itu berarti kontainer telah dimulai. Anda dapat memeriksa statusnya dengan docker ps:

image6.png

Ingat: Kontainer Docker adalah emulator sistem operasi yang andal. Selain menjalankan MySQL, Anda dapat melakukan tugas apa pun yang biasanya Anda lakukan dengan terminal komputer Anda dari dalam kontainer.

Untuk mengakses terminal di dalam kontainer, Anda dapat menggunakan perintah berikut:

$ docker exec -it container_name bash

Ini akan meluncurkan sesi bash.

Menyambungkan ke Kontainer Server MySQL Secara Lokal

Semua kontainer MySQL meluncurkan server MySQL yang mencakup semua hal untuk membuat dan mengelola basis data menggunakan SQL. Untuk terhubung ke server, kontainer juga dilengkapi klien MySQL yang memungkinkan kita menjalankan kueri SQL. Klien hanyalah nama lain untuk perintah terminal mysql. Mari kita gunakan di dalam terminal test-mysql:

1. Buka terminal bash dari test-mysql:

$ docker exec -it test-mysql bash

2. Sambungkan ke klien sebagai pengguna root:

$ mysql -u root -p
Enter password: ...
mysql>

Kita menggunakan tag -u untuk menentukan nama pengguna (root) dan menambahkan tag -p untuk memasukkan kata sandi saat diminta.

image1.gif

Anda juga bisa terhubung ke server MySQL dari luar kontainer. Misalnya, untuk terhubung dari mesin host Anda, Anda dapat memasang klien MySQL secara manual di sistem Anda.

Untuk memasang MySQL dan kliennya di Windows, Anda dapat mengikuti instruksi dari panduan pemasangan MySQL resmi.

Untuk Mac, Anda dapat menggunakan Homebrew:

$ brew install mysql

Untuk Linux atau WSL2 (pilihan saya), Anda dapat menggunakan sudo:

$ sudo apt update
$ sudo apt install mysql-client

Setelah pemasangan, jika Anda menjalankan kontainer, hentikan dan hapus:

$ docker stop test-mysql
test-mysql
$ docker rm test-mysql

Selanjutnya, kita akan memulai ulang kontainer dengan memetakan sebuah port dari kontainer ke port di mesin lokal kita:

$ docker run -d --name test-mysql -e MYSQL_ROOT_PASSWORD=strong_password -p 3307:3306 mysql

Perintah ini melakukan hal-hal berikut:

  • -p 3307:3306: Memetakan port 3306 milik kontainer (port default untuk MySQL) ke port lokal Anda 3307. Ini berarti lalu lintas apa pun yang dikirim ke port lokal 3307 akan diteruskan ke port 3306 milik kontainer dan server MySQL Anda dapat diakses pada port tersebut.
  • -d: Menjalankan kontainer kembali dalam mode detached.
  • --name test-mysql: Menggunakan kembali nama kontainer yang sama "test-mysql".
  • -e MYSQL_ROOT_PASSWORD=strong_password: Menetapkan kembali kata sandi root untuk server MySQL.
  • mysql: Menentukan image Docker yang dijalankan, yaitu image MySQL resmi.

Setelah terminal menampilkan ID baru untuk kontainer, kita dapat memeriksa pemetaan port:

$ docker port test-mysql
3306/tcp -> 0.0.0.0:3307

Berhasil! Sekarang, dari mesin lokal Anda, Anda dapat terhubung ke server pada port 3307 menggunakan klien mysql:

$ mysql --host=127.0.0.1 --port=3307 -u root -p
Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.2.0 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates…

Mengonfigurasi Kontainer MySQL

Anda dapat mengonfigurasi kontainer MySQL untuk banyak pengaturan menggunakan file konfigurasi. Biasanya, file akan disimpan di salah satu direktori berikut dalam kontainer:

  • /etc/mysql/
  • /etc/mysql/conf.d
  • /etc/mysql/mysql.conf.d

Direktori dapat berbeda dari satu image ke image lain. Namun nama dan ekstensi standar untuk file konfigurasi adalah my.cnf. Jika file tidak ada di salah satu direktori yang disebutkan di atas, ini berarti kontainer memerlukan file konfigurasi kustom. Inilah yang terjadi pada kontainer test-mysql kita:

$ ls /etc/mysql/conf.d/ # Returns no output

Dalam situasi seperti ini, kita harus melakukan langkah-langkah hati-hati berikut:

1. Hentikan dan hapus kontainer:

$ docker stop test-mysql; docker rm test-mysql

2. Buat file konfigurasi kosong secara lokal (di mesin Anda):

$ sudo mkdir -p /etc/docker/test-mysql # Create a dir
$ sudo touch /etc/docker/test-mysql/my.cnf # Create a config file inside dir

3. Mulai ulang kontainer dengan menautkan dua file .cnf kosong:

$ docker run \
   --name test-mysql \
   -v /etc/docker/test-mysql:/etc/mysql/conf.d \
   -e MYSQL_ROOT_PASSWORD=strong_password \
   -d mysql

Kita menulis tag baru: -v yang merupakan singkatan dari volume. Tag ini dapat digunakan untuk menautkan direktori antara kontainer dan mesin lokal. Dalam istilah ilmu komputer, proses ini disebut mounting.

Jadi, pada perintah di atas, kita mount direktori lokal /etc/docker/test-mysql ke direktori /etc/mysql/conf.d milik kontainer. Ini akan menautkan konten kedua direktori. Perubahan apa pun yang dilakukan di salah satu direktori akan tercermin di keduanya.

Mounting memungkinkan kita mengedit file my.cnf di mesin lokal untuk mengubah konfigurasi kontainer Docker. Dan bagian terbaiknya adalah konfigurasi yang diubah akan tetap ada di mesin lokal kita bahkan setelah kontainer dihentikan atau dihapus. File tersebut dapat digunakan kembali.

Jadi, setelah langkah ini, jenis konfigurasi apa yang dapat kita ubah? Jawabannya bergantung pada kasus penggunaan Anda. Kita akan membahasnya di bawah.

Ingin mendapatkan sertifikasi Docker? Lihat panduan kami untuk meraih sertifikasi Docker!

Opsi Apa yang Perlu Anda Konfigurasi?

Meskipun konfigurasi default untuk kontainer MySQL Docker cocok untuk banyak skenario umum, Anda sebaiknya memodifikasi pengaturan tertentu untuk mengoptimalkan kinerja, keamanan, dan penggunaan sumber daya. Berikut beberapa opsi konfigurasi yang paling sering diubah:

Kinerja

  • innodb_buffer_pool_size: Pengaturan ini menentukan jumlah memori yang dialokasikan untuk buffer pool InnoDB, yang menyimpan data yang sering diakses untuk pengambilan lebih cepat. Meningkatkan nilai ini dapat meningkatkan kinerja untuk beban kerja yang banyak membaca, namun juga mengonsumsi lebih banyak memori.
  • query_cache_size: Pengaturan ini mengontrol ukuran query cache, yang menyimpan kueri yang telah dieksekusi sebelumnya untuk eksekusi ulang yang lebih cepat. Meningkatkan nilai ini dapat meningkatkan kinerja untuk kueri berulang, namun juga mengonsumsi lebih banyak memori dan mungkin tidak efektif untuk kueri dinamis.
  • thread_pool_size: Pengaturan ini menentukan jumlah maksimum koneksi bersamaan yang dapat ditangani server. Menyesuaikan nilai ini berdasarkan perkiraan beban trafik dapat mengoptimalkan pemanfaatan sumber daya dan mencegah bottleneck.

Keamanan

  • bind-address: Opsi ini membatasi server MySQL untuk mendengarkan hanya pada antarmuka jaringan tertentu, membatasi akses dari sumber yang tidak berwenang.
  • mysql_bind_host: Pengaturan ini memungkinkan mengikat server MySQL ke alamat IP tertentu alih-alih mendengarkan di semua antarmuka.
  • validate_password_policy: Opsi ini mengaktifkan persyaratan kata sandi yang lebih ketat untuk peningkatan keamanan.

Pemanfaatan sumber daya

  • max_connections: Pengaturan ini mengontrol jumlah maksimum koneksi bersamaan yang diizinkan. Menyesuaikan nilai ini dapat mencegah kehabisan sumber daya dan memastikan operasi server yang efisien.
  • innodb_file_per_table: Opsi ini menyimpan setiap tabel InnoDB dalam file terpisah, berpotensi meningkatkan kinerja namun meningkatkan kebutuhan ruang penyimpanan.
  • innodb_io_capacity: Opsi ini menetapkan perkiraan IOPS (Input/Output Operations Per Second) untuk sistem penyimpanan, memungkinkan engine mengoptimalkan penggunaan buffer pool dan operasi disk.

Modifikasi umum lainnya

  • character_set_server: Opsi ini menetapkan set karakter default untuk server, memastikan pengodean dan penanganan data yang konsisten.
  • collation_server: Opsi ini menentukan aturan kolasi default yang digunakan untuk pengurutan dan perbandingan data karakter.
  • log_bin: Opsi ini mengaktifkan pencatatan biner aktivitas server, yang dapat membantu untuk pemecahan masalah dan replikasi.

Untuk melihat daftar lengkap opsi konfigurasi, Anda dapat menjalankan perintah berikut:

$ docker run -it --rm mysql:tag --verbose --help

Anda dapat mengedit file .cnf dengan editor teks apa pun. Berikut sintaks yang harus diikuti:

[mysqld]
max_connections=200
other_params=value
...

Cara Menjaga Data yang Disimpan di Kontainer Docker MySQL

Mempersistenkan data yang disimpan di kontainer MySQL Anda sangat penting karena banyak alasan:

  • Persistensi data: Saat Anda menghentikan atau menghapus kontainer, semua data hilang, termasuk basis data Anda. Memisahkan data dari kontainer membuatnya selalu dapat diakses.
  • Berbagi data antar kontainer: Melepas data dari kontainer memungkinkan banyak kontainer mengaksesnya. Dengan cara ini, Anda dapat menghindari duplikasi data dan menyederhanakan sinkronisasi antar proyek yang menggunakan data yang sama.
  • Portabilitas dan pencadangan: data yang dipersistenkan dapat dengan mudah dicadangkan dan dibagikan secara independen, menyediakan cara andal untuk memulihkan dari kehilangan data atau penghapusan tidak sengaja.
  • Peningkatan kinerja dan skalabilitas: Dengan menyimpan data yang sering diakses ke penyimpanan persisten seperti SSD, Anda dapat meningkatkan kinerja aplikasi dibandingkan bergantung pada layer tulis kontainer, yang biasanya lebih lambat.

Prosesnya sama seperti yang sudah kita lihat — kita akan membuat volume dan me-mount-nya ke tempat data disimpan dalam kontainer kita. Berikut langkah-langkahnya:

1. Buat volume:

$ docker volume create test-mysql-data

Perintah volume create membuat penyimpanan khusus pada sistem berkas lokal Anda untuk volume tersebut. Setelah volume di-mount, semua data kontainer akan ditautkan ke sana.

2. Mulai ulang kontainer dengan volume yang di-mount:

$ docker stop test-mysql; docker rm test-mysql
$ docker run \
   --name test-mysql \
   -v test-mysql-data:/var/lib/mysql \
   -e MYSQL_ROOT_PASSWORD=strong_password \
   -d mysql

Kali ini, sintaksnya dalam format: -v volume_name:directory_in_container. Semua volume yang dibuat harus di-mount pada direktori /var/lib/mysql seperti yang ditentukan dalam dokumentasi image MySQL.

Jadi, sekarang, basis data atau tabel apa pun yang dibuat di dalam test-mysql akan dipersistenkan secara lokal, bahkan setelah kontainer dihentikan atau dihapus.

Perintah Akhir

Sepanjang artikel, perintah docker run kita telah berkembang secara signifikan. Jadi, mari kita satukan semua variasinya menjadi satu perintah utama terakhir. Kita harus menghentikan dan menghapus kontainer lagi. Kita juga akan menghapus volume untuk memulai dari awal:

$ docker stop test-mysql; docker rm test-mysql
$ docker volume rm test-mysql-data

Jadi, berikut perintah utama akhirnya:

$ docker run \
   --name final-mysql \
   -e MYSQL_ROOT_PASSWORD=strong_password \
   -p 3307:3306 \
   -v /etc/docker/test-mysql:/etc/mysql/conf.d \
   -v final-mysql-data:/var/lib/mysql \
   -d mysql

Perintah ini me-mount file lokal my.cnf sebelumnya ke lokasi yang diinginkan serta membuat volume baru bernama final-mysql-data dan me-mount-nya.

Mengelola Setup MySQL yang Kompleks dengan Docker Compose

Untuk setup yang lebih lanjut melibatkan beberapa kontainer, seperti menjalankan MySQL bersama layanan lain (misalnya, web server atau backend aplikasi), Docker Compose menyederhanakan proses dengan memungkinkan Anda mendefinisikan dan mengelola aplikasi multi-kontainer dengan satu file konfigurasi.

Berikut contoh dasar file docker-compose.yml untuk kontainer MySQL:

version: '3.9'
services:
  db:
    image: mysql:8.3.0
    container_name: mysql-db
    environment:
      MYSQL_ROOT_PASSWORD: strong_password
      MYSQL_DATABASE: example_db
      MYSQL_USER: user
      MYSQL_PASSWORD: user_password
    ports:
      - "3306:3306"
    volumes:
      - db_data:/var/lib/mysql
      - ./mysql-config:/etc/mysql/conf.d
volumes:
  db_data:

Langkah menggunakan Docker Compose:

  • Buat file docker-compose.yml: Simpan file konfigurasi di direktori proyek Anda.
  • Mulai layanan: Jalankan perintah berikut untuk memulai semua layanan yang didefinisikan di file:
docker-compose up -d
  • Hentikan layanan: Matikan layanan saat selesai:
docker-compose down

Manfaat Docker Compose untuk MySQL:

  • Konfigurasi yang disederhanakan: Kelola konfigurasi MySQL, port, dan volume dalam satu file.
  • Lebih mudah diskalakan: Mudah menskalakan basis data atau mengintegrasikannya dengan layanan lain dalam tumpukan aplikasi Anda.
  • Data persisten: Secara otomatis mengelola volume untuk persistensi data di seluruh restart kontainer.

Menggunakan Docker Compose sangat membantu untuk mengelola banyak lingkungan (misalnya, pengembangan, staging, dan produksi) atau saat berkolaborasi dengan tim.

Kesimpulan

Artikel ini telah membahas aspek penting dalam menjalankan dan mengelola basis data MySQL di dalam kontainer Docker. Kita telah mempelajari cara mengunduh dan menyiapkan image MySQL, memulai server MySQL di dalam kontainer, cara memodifikasi kontainer tersebut dan menambahkan volume untuk konfigurasi kustom dan persistensi data.

Untuk mempelajari lebih lanjut tentang topik ini, saya merekomendasikan sumber berikut:

Terima kasih telah membaca!

FAQs

Bisakah saya menggunakan Docker Compose untuk mengelola beberapa kontainer MySQL?

Ya, Docker Compose adalah alat yang sangat baik untuk mengelola banyak kontainer Docker, termasuk MySQL. Anda dapat mendefinisikan konfigurasi layanan MySQL dalam file docker-compose.yml, sehingga Anda dapat memulai, menghentikan, dan mengelola banyak layanan dengan satu perintah.

Bagaimana cara meningkatkan MySQL ke versi yang lebih baru di kontainer Docker?

Untuk meningkatkan versi MySQL di kontainer Docker, Anda perlu menarik (pull) versi baru image Docker MySQL dan kemudian membuat ulang kontainer Anda dengan image baru tersebut. Pastikan Anda memiliki cadangan data sebelum melanjutkan peningkatan versi.

Bisakah saya menjalankan beberapa kontainer MySQL pada host yang sama?

Ya, Anda dapat menjalankan beberapa kontainer MySQL pada host yang sama. Setiap kontainer harus diberikan port unik pada host menggunakan opsi -p untuk menghindari konflik port.

Apa praktik terbaik keamanan untuk menjalankan kontainer MySQL?

Praktik terbaik keamanan mencakup tidak mengekspos kontainer MySQL ke internet publik tanpa langkah keamanan yang tepat, menggunakan kata sandi yang kuat, secara rutin memperbarui Docker dan image MySQL, serta menggunakan Docker secrets untuk informasi sensitif seperti kata sandi.

Bagaimana saya dapat mengotomatisasi pencadangan database MySQL di Docker?

Anda dapat mengotomatisasi pencadangan dengan membuat cron job di mesin host yang menggunakan docker exec untuk menjalankan mysqldump di dalam kontainer. Alternatifnya, Anda dapat menggunakan volume Docker untuk mempersistenkan data dan menangani pencadangan langsung dari host.

Bisakah saya terhubung ke kontainer Docker MySQL dari kontainer lain?

Ya, Anda dapat terhubung dari kontainer lain dengan memastikan kedua kontainer berada di jaringan Docker yang sama. Anda dapat menggunakan nama kontainer sebagai hostname saat menyambung.

Bagaimana cara menelusuri masalah koneksi dengan kontainer MySQL saya?

Untuk menelusuri masalah koneksi, periksa apakah kontainer sedang berjalan (docker ps), verifikasi pemetaan port (docker port), periksa konfigurasi jaringan, dan pastikan server MySQL di dalam kontainer dikonfigurasi untuk menerima koneksi dari host Anda atau kontainer lain.

Apakah mungkin menggunakan file konfigurasi MySQL kustom tanpa me-mount dari host?

Ya, Anda dapat membuat file konfigurasi kustom di dalam kontainer itu sendiri. Namun, lebih umum untuk me-mount dari host agar lebih mudah dikelola dan persisten.

Bagaimana saya dapat memantau kinerja kontainer MySQL saya?

Anda dapat memantau kinerja menggunakan alat seperti mysqladmin untuk metrik khusus MySQL, perintah stats bawaan Docker (docker stats), atau solusi monitoring pihak ketiga seperti Prometheus dengan exporter untuk Docker dan MySQL.

Apa yang harus saya lakukan jika kontainer Docker MySQL saya crash?

Jika kontainer Anda crash, pertama periksa log menggunakan docker logs <container_name> untuk mengidentifikasi error. Pastikan konfigurasi dan variabel lingkungan Anda benar, dan verifikasi bahwa tidak ada batasan sumber daya (CPU, memori). Mulai ulang kontainer dan pantau kinerjanya.

Bexruz (Bex) Tuychiev

Penulis

Bexruz (Bex) Tuychiev

Saya adalah kreator konten data science dengan pengalaman lebih dari 2 tahun dan salah satu dengan jumlah pengikut terbesar di Medium. Saya suka menulis artikel mendalam tentang AI dan ML dengan sedikit gaya sarkastik—karena harus ada sesuatu untuk membuatnya tidak terlalu membosankan. Saya telah menghasilkan lebih dari 130 artikel dan satu kursus di DataCamp, dengan satu lagi sedang dalam proses. Konten saya telah dilihat oleh lebih dari 5 juta pasang mata, dan 20 ribu di antaranya menjadi pengikut di Medium dan LinkedIn. 

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai