Docker #1: Command-Command Esensial Part 1

Docker #1: Command-Command Esensial Part 1

ยท

5 min read

Docker Image

Docker image adalah template yang berisi semua yang diperlukan untuk menjalankan aplikasi, termasuk kode, runtime, library, variabel lingkungan, dan dependensi lainnya. Ini seperti cetakan atau blueprint untuk menjalankan sebuah kontainer Docker. Anda bisa membayangkan Docker image sebagai paket yang berisi semua komponen yang dibutuhkan agar aplikasi Anda dapat berjalan secara konsisten di berbagai lingkungan.

๐Ÿ’ก
Pada intinya, sebelum membuat container kita memerlukan sebuah image.

Docker image pull

Docker image pull berfungsi untuk mengambil/mendunduh image dari registry ke lokal. Terdapat beberapa container registry yang populer, diantaranya adalah :

Dan pada tutorial kali ini, kita akan menggunakan DockerHub. Berikut contoh command untuk mengunduh image.

Command :

# syntax 1 : docker image pull namaImage:tag
docker image pull ubuntu:latest

# syntax 2 : docker pull namaImage:tag
docker pull ubuntu:latest

Hasil :

Docker image pull

Docker image ls

Command docker image ls berfungsi untuk melihat daftar image yang kita punya pada lokal.

Command :

# syntax 1
docker image ls

# syntax 2
docker images

Hasil :

Docker image rm

Command docker image rm berfungsi untuk menghapus image yang sudah kita unduh. Perlu diingat, sebelum menghapus image. Pastikan image tidak terkait dengan container aktif. Jika tidak, maka image tidak bisa dihapus. Berikut contohnya.

Command :

# syntax
docker image rm <imageId / imageName:tag>

Simulasi 1 : menghapus image yang tidak terikat dengan container

Simulasi 2 : menghapus image yang terikat dengan container

Seperti yang terlihat pada gambar simulasi 2, ketika kita mencoba menghapus image yang terikat dengan container. Maka proses untuk menghapus image akan gagal.

Docker Container

Docker container create

Perintah docker container create digunakan untuk membuat sebuah kontainer Docker secara manual tanpa langsung menjalankannya.

Command :

# syntax : docker container create --name namaContainer namaImage:tag
# contoh :
docker container create --name nginx-2 nginx:latest

Hasil :

Docker container start

Command docker container start berfungsi untuk menjalankan container yang sudah dibuat menggunakan docker container create.

Jadi, untuk menjalankan container yang sudah dbuat sebelumnya, kita akan menggunakan command berikut :

# syntax : docker container start <containerId / containerName>
# contoh
docker container start nginx-2

Hasil :

Docker container stop

Command docker container stop berfungsi untuk menghentikan container yang sedang berjlan.

Command :

# syntax : docker container stop <containerId / containerName>
# contoh :
docker container stop nginx-2

Hasil :

Docker container run

Command docker container run digunakan untuk membuat dan menjalankan sebuah kontainer Docker secara bersamaan. Jika image yang ditentukan belum ada di mesin Anda, perintah ini akan secara otomatis mengunduhnya dari Docker Registry sebelum membuat dan menjalankan kontainer.

Sebenarnya command docker container run mirip seperti command docker container create , hanya saja kalau menggunakan create container tidak langsung dijalankan. Sedangkan jika menggunakan run maka container akan langsung dijalankan.

Command :

# syntax : docker run -d --name namaContainer namaImage:tag
# -d : digunakan untuk menjalankan container tersebut dalam mode detached (di latar belakang).
# contoh :
docker run -d --name mongo-db mongo:latest

Hasil :

Docker container ls

Untuk melihat container yang sudah kita buat kita bisa menggunakan 2 command, yaitu:

  1. docker container ls : melihat daftar container yang aktif saja

    contoh :

  2. docker container ls -a : melihat semua daftar container yang aktif dan tidak aktif

    contoh :

Docker container logs

Untuk melihat logs dari aplikasi yang kita jalankan, kita bisa menggunakan docker container logs . Berikut beberapa contoh command yang biasa saya gunakan :

  1. docker container logs <containerId/containerName> : melihat seluruh logs app dalam container dari awal sampai akhir.

    contoh :

  2. docker container logs -f <containerId/containerName> : menambahkan -f berfungsi untuk melihat logs secara realtime.

  3. docker container logs --since waktu_tertentu <containerId/containerName> : untuk melihat logs berdasarkan rentang waktu tertentu.

    contoh command :

     # melihat logs 5 menit yang lalu 
     docker container logs --since 5m <containerId/containerName>
    
     # melihat logs 1 jam yang lalu 
     docker container logs --since 1h <containerId/containerName>
    
     # melihat logs 3 hari yang lalu 
     docker container logs --since 3d <containerId/containerName>
    
     # melihat semua log yang telah dibuat sejak pukul 12:00 pada tanggal 25 April 2024.
     docker container logs --since "2024-04-25T12:00:00" <containerId/containerName>
    

Docker container rm

Command docker container rm <containerId/containerName> berfungsi untuk menghapus container yang sudah kita create.

Contoh :

Docker Stats

Command docker stats berfungsi untuk melihat resource (CPU, memory, dsb) yang digunakan oleh masing-masing container aktif secara realtime.

Contoh :

Docker Exec

Aplikasi yang berada di dalam container hanya bisa kita akses dari dalam container langsung dan untuk masuk kedalam container kita bisa menggunakan command docker exec atau docker container exec. Berikut contoh command detail nya :

# syntax : docker container exec [opsi] <containerId/containerName> perintah [argumen]

# MEMBUKA SHELL INTERAKTIF DARI CONTAINER
# contoh command :
docker container exec -i -t <containerId/containerName> /bin/sh

# -i adalah argument interaktif, menjaga input tetap aktif
# -t adalah argument untuk alokasi pseudo-TTY (terminal akses)
# /bin/sh : path untuk menjalankan shell. Bisa juga menggunakan /bin/bash

Hasil :


Sekian terima kasih, untuk Tutorial Docker edisi Command-Command Esensial ini masih akan berlanjut.. Silakan ditunggu lanjutannya ya bolo2.. Hehe..

Bersambung... โ˜•

ย