Senin, 13 Februari 2023

Docker

 

Docker adalah sebuah platform perangkat lunak yang memungkinkan pengembang untuk mengemas aplikasi dan dependensi yang dibutuhkan ke dalam wadah (container) yang dapat dijalankan di berbagai lingkungan, termasuk di lingkungan lokal maupun di cloud. Dengan menggunakan Docker, pengembang dapat memastikan bahwa aplikasi dapat berjalan dengan konsisten dan dapat dipindahkan dengan mudah di berbagai lingkungan, tanpa perlu mengkhawatirkan perbedaan konfigurasi atau dependensi di lingkungan yang berbeda. Hal ini memudahkan pengembangan, distribusi, dan skalabilitas aplikasi secara efisien dan konsisten.
 
Install terlebih dahulu docker pada destop kalian, lalu login/sign in pada docker.

Download image Nginx, Phpmyadmin, Tomcat untuk membuat web, dan Databese Mysql pada Docker hub

Langkah pertama adalah mendownload image Ngingx, Phpmyadmin, dan Tomcat untuk membuat web server dan databese MySQL menggunakan Docker hub, berikut perintah-perintah untuk mendownload image Docker pada terminal.







Membuat container untuk Development, dengan port 8081 melewati port private 8080.

Untuk membuat container development dengan port 8081 dan melewati  port private gunakan command berikut ini;


Command docker run -d --name novipa-mywebsite-container -p 8081
;8080 tomcat:latest berfungsi untuk membuat container yang berjalan pada image Tomcat yang telah ditentukan sebelumnya.
  • docker :  program yang digunakan untuk mengola container
  • run : perintah yang membuat dan menjalankan container
  • -d : opsi ini menandakan bahwa container sedang dijalankan di dalam mode "detached", sehingga tidak menempati terminal yang sedang digunakan
  •  --name novipa-mywebsite-container : untuk memberikan nama pada container yang akan dibuat, contoh disini diberikan nama --name novipa-mywebsite-container
  • -p 8081:8080 : untuk mengaitkan post yang ada pada host dengan post yang ada dalam container. Jadi port 8081 pada host diarahkan ke port 8080 pada container tomcat. Ketika kita mengakses port 8081 pada host, maka kita mengakses port 8080 pada container tomcat
  • tomcat:latest : iamge tomcat yang akan digunakan untuk membuat container, dengan tag "latest".
Command docke rexec -it novipa-mywebsite-container /bin/bash merupakan perintah untuk masuk ke terminal di dalam "novipa-mywebsite-container"
  • docker : program yang digunakan untuk mengelola container
  • exec : untuk mengeksekusi sebuah perintah pada container yang sedang berjalan
  • -it : opsi ini menandakan bahwa kita igin masuk ke dalam mode interaktif di terminal di dalam container
  • novipa-mywebsite-container : nama container yang akan di akses di terminal.
  • /bin/bash ; untuk mrmasuki terminal container dengan shell bash.
Command cp -R webapps.dist/* webapps untuk menyalin seluruh isi direktori "webapps.dist" kedalam direktori "webapps".
  • cp : cp yang dimaksud adalahh "copy" untuk menyalin file atau direktori
  • -R : ini menandakan bahwa perintah cp akan menyalin isi dari sebuah direktori
  • webapps.dist/* : lokasi yang akan disalin
  • webapps : tempat file disalin, seluruh isi direktori "webapps.dist' akan disalin kedalam direktori "webapps".
lalu command exit untuk keluar dari program ynag sedamg berjalan.

Membuat databese MySQL pada container.

Jalankan terlebih dahulu mysql yang sudah diinstal menggunakan command betikut:


  • docker : program docker yang digunakan untuk mengelola container
  • container ; menandakan bahwa kita akan membuat container baru
  • run : untuk menjalankan sebuah container baru
  • --name novipa-mydb-container : untuk menentukan nama dari container yang akan dibuat
  • -e MYSQL_ROOT_PASSWORD=novicantik06 : digunakan untuk menentukan kata sandi root SQL
  • -d : container yang dijalankan dalam mode daemon, yang berarti container akan terus berjalan di latar belakang.
  • mysql:latest : nama dan tag untuk image docker yang akan digunakan untuk membuat container

Command docker exec -it novipa-mydb-container /bin/bsdh perintah untuk memasuki shell interaktif di dalam container dosker yang sedang berjalan.

Command myswl -u root -p perintah untuk mengakses sever databese dengan menggunakan akun root.

Selanjutnya membuat databese biodata dan membuat table dengan perintah-perintah berikut ini:


  • create databese ; berfungsi untuk membuat daatabese
  • use : berfungsi untuk masuk ke databese novipa
membuat table biodata yang memiliki 5 field berisi nama, ttl, alamat, jk, agama, yang menggunakan tipe data varchar dengan lenght 50.




Membuat databese interface PhpMyAdmin

gunakan perintah berikut untuk membuat databese dengan tampilan PhpMyAdmin\

  • docker : program docker yang digunakan untuk mengelola container
  • run : untuk menjalankan container baru
  • --name novipa-phpmyadmin-container: nama yang diberikan untuk container yang akan dibuat
  • -d : untuk menjalankan container di backrounf
  • -p 8080:80 : memetakan port pada host container, port 8080 pada host akan diarahkan ke port 80 pada container
  • --link novipa-mydb-container:db : untuk menghubungkan container phpmyadmin dengan container mysql, dalam hal ini memungkinkan phpmyadmin untuk tersambung ke server mysql yang berjalan di dalam container mysql tersebut
  • phpmyadmin/phpmyadmin : nama image docker untuk membuat container baru
Setelah itu lalu jalankan pada web browser anda pada alamat hhtp://localhost:8080, jika sudah terhubung maka tampilan nya akan seperti gambar berikut.




Upload image/repository ke docker hub

Sebelum mengupload image ke docker hub, langkah pertama membuat images terlebih dahulu, disini saya menggunakan images dari mysql yang telah di install sebelumnya.


Pada gambar diatas merupakan perintah untuk membuat docker image dengan nama db-novipa:V1 yang diambil dari container novipa-mydb-container. Lalu login ke docker menggunakan perintah docker login, jika sudah ubah image yang sudah dibuat menjadi novipa/db-novipa:V1 dengan menggunakan perintah sebagai berikut.


Setelah proses tadi selesai push image yang sudah dibuat menggunakan perintah sebagai berikut.




Create container yang berisi sistem operasi centos lalu installkan package telnet di dalamnya.

install image centos terlebih dahulu;

jalankan centos menggunakan command docker run -it --name novipa-centos-container centos /bin/bash

jika sudah berhasil dijalankan, kemudian install telnet, tapi sebelum itu ganti repositori centod linux ke repositori centos stream, mengunakan command berikut;
dnf --disablerepo '*' --enablerepo=extras swap centos-linux -repos centos-stream-repos
untuk memperbaharui paket ke versi terbaru gunakan perintah sebagai berikut:

setelah selesai semua lalu install kan telnet dengan perintah sebagai berikut;

 



Tidak ada komentar:

Posting Komentar

Restful Api

PENGERTIAN RESTful API (Representational State Transfer) adalah suatu arsitektur untuk membuat API (Application Programming Interface) yang ...