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.
Docker image pull
Docker image pull berfungsi untuk mengambil/mendunduh image dari registry ke lokal. Terdapat beberapa container registry yang populer, diantaranya adalah :
DockerHub : https://hub.docker.com/
Amazon Elastic Container Registry (ECR) : https://aws.amazon.com/ecr/
Google Container Registry (GCR) : https://cloud.google.com/container-registry
Azure Container Registry (ACR) : https://azure.microsoft.com/en-us/products/container-registry
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 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:
docker container ls
: melihat daftar container yang aktif sajacontoh :
docker container ls -a
: melihat semua daftar container yang aktif dan tidak aktifcontoh :
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 :
docker container logs <containerId/containerName>
: melihat seluruh logs app dalam container dari awal sampai akhir.contoh :
docker container logs -f <containerId/containerName>
: menambahkan-f
berfungsi untuk melihat logs secara realtime.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... โ