Tutorial Docker - Implementasi Image dan Container

    Pada materi kali ini, kita akan melanjutkan seri dari Tutorial Docker. Setelah sebelumnya kita membahas tentang Docker Image dan Container kita akan coba untuk mengimplementasikan image DBMS Mysql ke dalam container.


    Sebelum ke pembahasan utama, kita akan coba untuk memahami terlebih dahulu perintah-perintah CLI yang digunakan untuk manajemen image dan container.

Pastikan temen-temen sudah berhasil menginstal docker.

  1. Docker Image
    a. Mengunduh Image
    Untuk mengunduh image temen-temen bisa mengetikan perintah :

    docker pull <nama_image>:<tag>

    Disini saya akan mencoba unduh beberapa image dari registry docker hub.



    Pada gambar diatas temen-temen bisa melihat saya tidak menggunakan tag, jika seperti itu maka docker akan otomatis mengunduh image dengan versi terbaru.

    Untuk melihat tag temen-temen bisa mengklik fitur tag di sebelah Overview.

    b. Menampilkan Image yang sudah diunduh
    Untuk menampilkan image temen-temen bisa mengetikkan perintah :

    docker images


    Catatan : Temen-temen bisa melihat pada gambar diatas ada beberapa kolom pada image, berikut penjelasan sederhana dari kolom-kolom tersebut.
    1. REPOSITORY : Menunjukan nama repository dari image yang sedang digunakan, biasanya nama repo akan diambil dari nama resmi repositorynya.
    2. 
    TAG : Menunjukan versi dari image yang sedang digunakan, untuk latest sendiri adalah nilai default dari suatu image yang tidak menyertakan versi spesifik saat melakukan unduh image.
    3. IMAGE ID : ID Unik yang dihasilkan saat image tersebut dibuat.
    4. CREATED AT : Menunjukan waktu kapan image itu dibuat atau di build dan di push ke repository.
    5. SIZE : 
    Menunjukkan ukuran dari image. Ukuran ini sangat penting untuk temen-temen perhatikan apalagi jika temen-temen memiliki keterbatasan dengan storage.

    c. Menghapus Image
    Untuk menghapus image temen-temen bisa menggunakan nama image atau id image, dengan mengetikkan perintah :

    docker image rm <image_id/nama>


    d. Melihat detail Image

    docker inspect <image_id/nama>


  2. Docker Container
    Disini kita akan membuat container dari image mysql, ada beberapa config/environment yang perlu temen-temen perhatikan.


    a. Membuat Container
    Langkah pertama kita bisa mengetikan CLI dengan kata kunci "docker run", kemudian diikuti dengan beberapa parameter yang diperlukan.

    docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=root -p port_host:port_container mysql:tag


    Catatan : 
    -d : Untuk menjalankan container di background
    --name (mysql-container) : Memberikan nama untuk container, disini kita memberikan mysql-container sebagai nama pada container mysql.
    -e MYSQL_ROOT_PASSWORD=dev : Ini adalah parameter bawaan dari env mysql, tujuannya memberikan password untuk user root.
    -p : Untuk mempublish port supaya bisa diakses dari luar (Port Mapping).
    port_host : Port di host (local atau server) yang digunakan untuk mengakses container dari luar.
    port_container : Port yang digunakan oleh aplikasi didalam container untuk mendengarkan permintaan. 
    mysql:latest : Image yang akan digunakan, disini saya menggunakan image mysql dengan tag latest.

    Untuk analogi port_host dan port_container temen-temen bisa membayangkan container adalah rumah didalam kompleks.
    port_container : Sebagai pintu rumah di dalam kompleks.
    port_host : Sebagai gerbang kompleks yang menghubungkan dunia luar ke rumah-rumah didalamnya.

    Tanpa adanya port_host (Gerbang Kompleks) orang luar tidak dapat masuk ke rumah (container).


    b. Menampilkan Container
    Untuk menampilkan container temen-temen bisa menggunakan perintah "docker ps" atau "docker ps -a" untuk melihat semua container termasuk yang tidak berjalan.


    Pada gambar ini temen-temen bisa melihat perbedaan, dari perintah "docker ps" dan "docker ps -a"

    Catatan : 
    CREATED : Menunjukan waktu kapan container itu dibuat
    STATUS : Menunjukan status container apakah sedang aktif atau non-aktif.

    c. Menghentikan dan Menjalankan Container
    Untuk menghentikan container temen-temen bisa menggunakan perintah :

    docker stop <container_id/nama>

    Dan jika temen-temen ingin menjalankan kembali container, temen-temen bisa menggunakan perintah :

    docker start <container_id/name>


    d. Menghapus Container

    docker rm <container_id/nama>


    e. Mengakses Container

    docker exec -it <container_id/nama> /bin/bash


    Jika sudah seperti gambar diatas berarti kita sudah berhasil implementasi image dan container mysql, temen-temen bisa uji coba untuk masuk ke DBMS dengan mengetikkan perintah berikut :

    mysql -u root -p


    Untuk password temen-temen bisa sesuaikan dengan config sebelumnya, karena di config sebelumnya saya set "dev" maka disini juga saya mengetikkan dev untuk passwordnya.
    Sampai di sini, saya berharap teman-teman sudah memahami implementasi dari Image dan Container. Contohnya, dengan menggunakan image MySQL, kita dapat memanfaatkan Docker untuk menggantikan instalasi DBMS secara manual atau menggunakan web server seperti XAMPP, Laragon, Herd, dan lain sebagainya.

    Temen-temen bisa melakukan command DDL, DML, DCL dan TCL seperti gambar berikut :




Uji coba koneksi DBMS MySQL dengan aplikasi database management tools.
    Untuk membuktikan apakah container sudah bisa di akses dari luar temen-temen bisa menggunakan aplikasi Database Management Tools seperti SqlYog, DataGrip, Table Plus dan lain sebagainya. 


Koneksi DBMS MySql menggunakan DataGrip.

DBMS MySql berhasil terkoneksi.

    Mungkin itu saja yang bisa kita pelajari dari materi kali ini. Semoga materinya dapat membantu teman-teman memahami tentang Implementasi Docker Image dan Container. Jika teman-teman memiliki pertanyaan atau ingin berbagi pengalaman, silakan ketikkan pada kolom komentar di bawah.

Sedikit Tentang Saya :

    Sebagai seorang programmer profesional dengan pengalaman sekitar 4 tahun di bidang IT, saya siap membantu Anda dengan berbagai kebutuhan konsultasi.

Jangan ragu untuk menghubungi saya melalui WhatsApp.

Sampai jumpa di tutorial berikutnya!

Kontak Saya :
Email : ronisurya.115@gmail.com
WhatsApp : 081222821596
Website : Roni Surya

Tutorial Selanjutnya : Tutorial Docker - Volume

Tutorial Sebelumnya :

  1. Tutorial Docker - Image dan Container
  2. Tutorial Docker - Mengenal Docker dan Konsep Kontainer

Lebih baru Lebih lama