Tutorial Docker untuk Pemula : Part 4

Halo gengs, seperti yang gw bilang kemarin, kali ini gw akan membahas kembali mengenai docker. Untuk tulisan kali kemarin kita sudah belajar bagaimana cara docker bekerja, menggunakan database mysql di docker sampai melakukan scripting bahasa pemrograman ( php ) menggunakan docker. Oleh karena itu, mari kita coba ke level yang berikutnya yakni redis dan rabbitmq. Mungkin bagi kalian yang belum tau apa itu rabbitmq dan redis, akan sedikit gw beri penjelasan mengenai 2 hal ini. Redis dikutip dalam website resminya merupakan memory data structure yang extremely fast. Khusus dalam tulisan ini, gw hanya akan membahas redis sebagai cache. Jadi kalau ingin implementasi penggunaan yang lain, dicoba sendiri ya. Sedangkan untuk rabbitmq merupakan message broker dimana semua data ditaro dalam queue lalu dimana ada consumer yang mengambil data dalam queue secara asynchronously. Tetapi balik lagi, disini gw hanya akan menjelaskan tutorial bagaimana cara menginstallnya menggunakan docker dan membuat hidup kalian menjadi lebih simple.

Untuk yang pertama mari kita coba install redis terlebih dahulu, seperti biasa kita cek terlebih dahulu di docker hub. Hanya saja kali ini gw ga akan memandu step by step nya karena harusnya kalian sudah mengerti untuk sampai ke tahap ini. Berhubung di laptop gw sudah terdownload images redis versi latest, maka gw akan langsung menjalankan redis tersebut dengan command berikut.

Jangan lupa, setiap kali menjalankan docker run, wajib menggunakan -d agar docker berjalan di background. Setelah menjalankan command tersebut, kita bisa langsung mengecek container yang sedang berjalan untuk tahu apakah redis tersebut sudah berjalan apa belum. Jika sudah berjalan, maka mari kita coba jalankan command berikut.

Sebagai penyegar ingatan, a6f merupakan 3 karakter pertama untuk container id. Setelah menjalankan id tersebut maka kita akan masuk ke dalam command line container redis. Bentuknya seperti berikut.

 

Docker Redis CLI

Docker Redis CLI

 

Nah buat kalian yang baru pertama kali menggunakan redis, untuk mengetes koneksi redis kalian bisa menggunakan command PING. Jika redis menjawab PONG maka redis sudah terkoneksi dengan sempurna. Lucu juga ya yang buat redis. Jadi karena kalian sudah bisa menjalankan redis, maka kita akan bermain ke level yang lebih expert lagi. Pada dasarnya database, cache, message broker wajib menggunakan password agar lebih secured. Oleh karena itu, mari membuat password agar redis yang kita punya lebih aman.

Sebelum membuat container yang baru, alangkah baiknya kita matikan dulu container yang sedang berjalan. Untuk commandnya, gw ga perlu tulis lagi karena gw yakin kalian sudah hafal. Setelah kill containernya, command untuk menambahkan password tidak terlalu berbeda dengan command run redis standard. Berikut commandnya.

Nah yang berbeda adalah dimana ketika membuat container tersebut, kita memaksa docker redis untuk menjalankan command redis-server require pass yang berarti untuk bisa mengakses redis wajib menggunakan password. Nah sebagai permulaan gw menggunakan password 123456 supaya gampang, namun kalau sudah tahap production jangan menggunakan password tersebut ya. Lalu bagaimana cara mengecek apakah passwordnya sudah jalan apa belum? Seperti yang telah dijelaskan sebelumnya, mari masuk ke dalam container redis menggunakan command yang telah gw terangkan diatas atau langsung saja liat contoh gambar berikut.

Docker Redis Error No AUTH

Docker Redis Error No AUTH

 

Pada saat kita menjalankan command PING, redis otomatis menolak untuk membuka network karena mewajibkan kita menuliskan passwordnya terlebih dahulu. Oleh karena itu, mari kita coba cara yang proper dengan menuliskan password yang sudah kita set diatas. Hasilnya seperti berikut.

Docker Redis Success AUTH

Docker Redis Success AUTH

 

Sekarang kalian sudah bisa menggunakan redis dengan proper. Untuk redis tahap selanjutnya, mungkin kalian bisa membinding port local dengan port container agar bisa dijalankan via localhost, namun kalau kalian tidak mau bisa menggunakan ip public network container seperti yang sudah gw jelaskan di tulisan sebelumnya. Selanjutnya mari kita coba menginstall rabbitmq menggunakan docker. Untuk contohnya gw akan menggunakan tag 3-management dan berhubung gw sudah menginstall image di local, gw akan menjalankannya dengan command berikut.

Hasilnya sebagai berikut.

 

Docker Rabbitmq Default

Docker Rabbitmq Default

 

Setelah mengecek container sudah berjalan, mari kita cek ke browser. Jangan lupa untuk menjalankan dari browser, kalian perlu menggunakan ip public network container. Dalam contoh, gw akan menggunakan ip public http://172.17.0.2:15672/ dan hasilnya sebagai berikut.

RabbitMQ Run Browser Login Default

RabbitMQ Run Browser Login Default

 

Untuk dapat login, karena kita belum mendefinisikan default user maka secara otomatis rabbitmq akan menggunakan default user guest dan pass guest. Silahkan dicoba untuk login. Jika sudah bisa, maka selamat sekarang kalian bisa menginstall rabbitmq dengan docker. Supaya kalian makin jago, maka kita akan ke level yang lebih advanced yakni mencoba mengganti default user untuk rabbitmq. Untuk commandnya sebagai berikut.

Disini gw mencontohkan untuk default usernya menggunakan nama gw dan password bayu123. Oke sekarang silahkan coba, apakah sudah berhasil? Kalau sudah berhasil selamat, dengan ini kalian sudah menjalankan redis dengan password dan juga rabbitmq dengan mengganti default user dan passwordnya. Supaya kalian makin jago, mungkin kalian bisa mencoba dengan cara membinding port rabbitmq dan redis dengan port localhost kalian agar kalian bisa menjalankan tersebut via localhost. Bagaimana caranya? Silahkan ikutin tutorial gw sebelumnya, gw yakin kalian pasti bisa.