Pengantar

Docker merupakan tool yang memudahkan kamu dalam membuat, menguji, mengembangkan, dan mendeploy aplikasi kamu secara terisolasi dalam sebuah wadah yang disebut container.

Konsep Docker ini mirip dengan virtual machine, hanya saja Docker memiliki beberapa keunggulan yang tidak dimiliki virtual machine.

Di sini kamu bakalan belajar bagaimana cara menginstall dan menggunakan Docker di Debian 10, gaskeuunn!

Prasyarat

  • Punya Server atau VPS Debian 10 (akses root)
  • Punya akun Docker Hub , daftar dulu kalau belum punya.

 

Langkah 1 - Menginstall Docker

Perlu diketahui jika package Docker yang ada pada repository default Debian 10 bisa jadi adalah yang versi lama. Untuk mendapatkan Docker versi terbaru, kamu perlu menginstalnya dari official repository Docker.

Pertama, lakukan update package os dari server kamu :

sudo apt-get update

Install beberapa package berikut, untuk memperbolehkan apt menggunakan HTTPS :

sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

Selanjutnya tambahkan GPG key dari official repository Docker ke dalam sistem kamu :

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

Tambahkan Docker repository ke APT sources :

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Jalankan command berikut untuk memastikan bahwa package yang kamu install nantinya berasal dari repository Docker dan bukan repository default Debian :

sudo apt update
apt-cache policy docker-ce

Nah, jika sudah, kamu bisa melakukan instalasi Docker :

sudo apt install docker-ce

Jika berhasil, seharusnya Docker sudah terinstall dan sudah berjalan pada VPS kamu. Untuk mengecek jalankan command :

sudo systemctl status docker

Hasilnya akan seperti berikut :

Systemctl status docker

Setelah menginstall Docker, kamu akan mendapatkan sebuah command baru yaitu docker

 

Langkah 2 - Menjalankan Perintah Docker Tanpa Sudo (Opsional)

Secara default, untuk menjalankan perintah-perintah Docker, kamu perlu menggunakan sudo (akses root) sebagai awalan. Jika tidak maka hasilnya akan error seperti gambar berikut :

Error docker sudo

Jika kamu ingin supaya tidak perlu menggunakan awalan sudo, kamu perlu menambahkan username kamu ke dalam group docker :

sudo usermod -aG docker ${USER}

Untuk mengaplikasikan perubahan, kamu perlu logout dan login ulang ke user kamu, atau jalankan command berikut :

su - ${USER}

Setelah itu jalankan command berikut untuk mengecek apakah user kamu sudah masuk ke dalam grup docker :

id -nG

Hasilnya kira-kira seperti ini :

Masuk grup docker

Sekarang kamu tidak perlu menggunakan awalan sudo dalam menjalankan perintah docker :

Docker ps sudah tidak muncul error

Jika kamu ingin menambahkan user lain / user yang saat ini tidak sedang login, kamu bisa menggunakan command berikut :

sudo usermod -aG docker username

Sesuaikan username dengan nama user kamu ya sob!

 

Langkah 3 - Menggunakan Perintah Docker

Setelah berhasil menginstall Docker, langkah selanjutnya adalah memahami perintah yang ada pada Docker. Secara umum, struktur perintah Docker adalah sebagai berikut :

docker [option] [command] [arguments]

Untuk mengetahui sub perintah apa saja yang ada pada Docker, kamu bisa langsung menjalankan command :

docker

Berikut subcommands yang ada pada Docker :

attach Attach local standard input, output, and error streams to a running container
build Build an image from a Dockerfile
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes to files or directories on a container's filesystem
events Get real time events from the server
exec Run a command in a running container
export Export a container's filesystem as a tar archive
history Show the history of an image
images List images
import Import the contents from a tarball to create a filesystem image
info Display system-wide information
inspect Return low-level information on Docker objects
kill Kill one or more running containers
load Load an image from a tar archive or STDIN
login Log in to a Docker registry
logout Log out from a Docker registry
logs Fetch the logs of a container
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
ps List containers
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
rmi Remove one or more images
run Run a command in a new container
save Save one or more images to a tar archive (streamed to STDOUT by default)
search Search the Docker Hub for images
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
version Show the Docker version information
wait Block until one or more containers stop, then print their exit codes

Untuk mengetahui informasi spesifik dari sebuah subcommand, jalankan command berikut :

docker docker-subcommand --help

Docker --help

Untuk mengetahui informasi tentang sistem pada Docker kamu, jalankan command :

docker info

Langkah 4 - Bekerja dengan Docker Images

Sebuah Docker container berjalan menggunakan Docker image. Secara default, Docker images ditarik dari Docker Hub, sebuah Docker registry official dari Docker. Siapapun bisa membuat dan menaruh Docker images mereka dalam Docker Hub.

Untuk memastikan apakah kamu bisa mengakses dan mendownload image dari Docker Hub, jalankan :

docker run hello-world

Jika berhasil, maka seharusnya muncul kata-kata seperti gambar di bawah ini :

Docker run hello-world

Kamu bisa mencari images yang tersedia pada Docker Hub dengan subcommand search (ganti ubuntu dengan image yang ingin kamu cari) :

docker search ubuntu

Kamu bisa mendownload images dengan command :

docker pull ubuntu

Untuk melihat list image yang sudah terdownload, kamu bisa jalankan command :

docker images

Outputnya seharusnya terlihat seperti ini :

Docker Images

Setelah itu, kamu bisa membuat sebuah container dengan image yang sudah kamu download dengan command :

docker run ubuntu

Langkah 5 - Menjalankan Docker Container

Program hello-world yang sudah kamu jalankan pada langkah sebelumnya sebenarnya merupakan salah satu Docker container. Sekarang jalankan command berikut untuk menjalankan sebuah container dengan Ubuntu image :

docker run -it ubuntu

Command run berarti membuat sebuah container baru dengan image ubuntu. Option -it (gabungan dari -i dan -t) akan memberikan akses shell ke container baru yang akan kamu buat.

Tampilan dari hasilnya akan seperti berikut :

 

Gambar di atas menampilkan sebuah user dengan id b6ada83ff5c91. Kamu akan membutuhkan id container sewaktu-waktu jika ingin menghapus container tersebut.

Sekarang coba install package nodejs dalam docker kamu, jalankan command di bawah ini (pastikan kamu sudah masuk di dalam shell docker ubuntu yang sudah kamu buat) :

apt-get update
apt-get install nodejs -y

Setelah itu cek dengan command :

node -v

Lalu coba keluar dari container docker dengan command :

exit

Dan jalankan kembali

node -v

Dapat dilihat jika package nodejs hanya akan terinstall pada Docker container kamu. Hal ini tentunya memudahkan dalam proses pengembangan aplikasi.

Node -v

 

Langkah 6 - Mengelola Docker Container

Untuk mengetahui container apa saja yang sudah kamu jalankan gunakan command :

docker ps

Tampilannya akan seperti ini jika tidak ada container yang sedang aktif :

Docker ps tidak ada yang aktif

Pada tutorial ini, kamu sudah menjalankan beberapa container, tetapi mengapa tidak muncul? Jawabannya adalah container yang sudah kamu buat sedang dalam kondisi tidak aktif. Untuk melihat seluruh container yang sudah kamu buat baik yang aktif maupun tidak aktif jalankan command :

docker ps -a

Tampilannya kurang lebih akan seperti di bawah ini :

Docker ps -a

Untuk menjalankan dan menghentikan container kamu bisa menggunakan command docker start / stop lalu diikuti dengan nama atau id dari container tersebut.

Menjalankan :

docker start agitated_tu

Menghentikan :

docker stop agitated_tu

Docker start dan stop

Untuk menghapus container gunakan command berikut :

docker rm agitated_tu

Langkah 7 - Commit Perubahan ke Docker Image

Jika kamu pernah bekerja dengan sebuah version control seperti git, maka dengan docker kamu akan menemui hal yang cukup mirip. Kamu dapat membuat sebuah image baru dengan beberapa perubahaan.

Misalnya di sini hal yang sudah kamu lakukan pada container ubuntu adalah menginstall package nodejs, kamu dapat membuat image ubuntu baru yang sudah terinstall nodejs. Jadi jika sewaktu-waktu kamu perlu Ubuntu yang sudah ada nodejs nya, kamu bisa langsung memakai image tersebut

Secara sederhana, command untuk melakukan hal tersebut adalah sebagai berikut :

docker commit -m "Catatan tentang apa yang kamu lakukan" -a "Nama pembuat" container-id repository/new_image_name

Contoh :

docker commit -m "Tambah nodejs sob!" -a "jagoanhostingkece" a8b5756c57d2 jagoanhostingkece/ubuntu-nodejs

Cek image kamu dengan command :

docker images

Maka kamu akan punya satu buah image lagi :

Docker images

Image baru tersebut merupakan turunan dari image ubuntu, yang didalamnya sudah terinstall nodejs. Hal ini akan memudahkan kamu jika kamu perlu beberapa service langsung tersedia pada container kamu nantinya tanpa harus menginstall satu persatu dari awal.

 

Langkah 8 - Push Perubahan ke Docker Hub

Langkah ini adalah bagaimana kamu bisa menaruh image baru kamu ke Docker Hub, sehingga orang lain bisa menggunakan image yang sudah kamu buat. Sebelum lanjut, pastikan kamu sudah membuat akun Docker Hub.

Pertama login ke akun Docker Hub kamu dengan command :

docker login -u username

Pastikan username pada nama image kamu sama dengan username Docker Hub kamu ya sob! Jika berbeda gunakan command berikut :

docker tag sammy/ubuntu-nodejs docker-registry-username/ubuntu-nodejs

Lalu, push image ke Docker Hub dengan command :

docker push docker-registry-username/ubuntu-nodejs

Docker push

Jika berhasil maka pada akun kamu seharusnya muncul image yang sudah kamu push.

Tampilan upload images docker hub

Penutup

Dengan menggunakan Docker, kamu bakalan lebih fleksibel dalam membuat dan mengembangkan aplikasi. Banyak sekali manfaat yang bisa kamu dapatkan dengan memanfaatkan Docker. Sekian sob cara install Docker di Debian 10. Semoga bermanfaat!

Apakah artikel ini membantu, Sob?

Berikan rating buat artikel ini!

Rata-rata rating 0 / 5. Dari total vote 0

Pertamax, Sob! Jadilah pertama yang memberi vote artikel ini!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?