Docker adalah teknologi containerisasi yang memungkinkan Anda untuk dengan cepat membangun, menguji, dan menggunakan aplikasi sebagai wadah yang portabel dan mandiri yang dapat berjalan di mana saja.

Docker telah menjadi standar de facto untuk deployment Container dan merupakan alat penting bagi para engineer DevOps serta integrasi dan pipeline pengiriman mereka.

Dalam tutorial ini, kami akan membahas cara memasang Docker pada mesin Debian 9 dan menjelajahi konsep dan perintah dasar Docker.

Prasyarat

Sebelum melanjutkan dengan tutorial ini, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo. Semua perintah dalam tutorial ini harus dijalankan sebagai user non-root.

Instal Docker di Debian

Langkah-langkah berikut menjelaskan cara menginstal versi Docker stabil terbaru dari repositori Docker.

  1. Perbarui paket yang diinstal ke versi    terbaru:
    sudo apt update
    sudo apt upgrade
    
  2. instal dependensi yang diperlukan untuk mengaktifkan repositori baru melalui HTTPS:
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
  3. Impor GPG key repositori menggunakan perintah curl berikut:
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

    Tambahkan repositori Docker APT ke daftar repositori perangkat lunak sistem Anda dengan mengetik:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
  4. Sekarang setelah repositori Docker diaktifkan, perbarui index packet apt dan instal versi terbaru Docker CE (Community Edition) dengan:
    sudo apt update
    sudo apt install docker-ce
  5. Ketika instalasi selesai, layanan Docker akan mulai secara otomatis. Anda dapat memverifikasinya dengan mengetik:
    sudo systemctl status docker

    Outputnya akan terlihat seperti ini:

    ● docker.service - Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    Active: active (running) since Fri 2018-07-27 1707 UTC; 1min 14s ago
        Docs: https://docs.docker.com
    Main PID: 16929 (dockerd)
    CGroup: /system.slice/docker.service
  6. Pada saat penulisan, versi terbaru Docker yang tersedia untuk Debian 9 adalah 18.06.0-ce. Periksa versi Docker dengan mengetik:
    docker -v
    Docker version 18.06.0-ce, build 0ffa825

Menjalankan Perintah Docker Tanpa Sudo

Secara default mengelola, Docker membutuhkan hak administrator. Jika Anda ingin menjalankan perintah Docker sebagai user non-root tanpa sudo , Anda perlu menambahkan user Anda ke grup docker yang dibuat selama instalasi paket Docker CE. Anda dapat melakukannya dengan menjalankan perintah berikut:

sudo usermod -aG docker $USER

$USER adalah variabel lingkungan yang menampung nama user Anda.

Logout dan log in kembali sehingga keanggotaan grup di-refresh.

Untuk memverifikasi bahwa Docker telah berhasil diinstal dan bahwa Anda dapat menjalankan perintah docker tanpa sudo, ketikkan perintah berikut yang akan mengunduh image testing, jalankan dalam container, cetak pesan “Hello from Docker” dan keluar:

docker container run hello-world

Outputnya akan terlihat seperti berikut:

docker hello world

Docker command line interface

Perintah Docker CLI mengambil bentuk ini:

docker [option] [subcommand] [arguments]

Untuk membuat daftar semua perintah yang tersedia jalankan docker tanpa parameter:

docker

Jika Anda memerlukan bantuan lebih lanjut pada [subcommand] apa pun, Anda dapat menggunakan --help seperti yang ditunjukkan di bawah ini:

docker [subcommand] --help

Pengertian Docker Images

Docker Images terdiri dari serangkaian lapisan sistem file yang mewakili instruksi dalam Dockerfile yang membentuk aplikasi perangkat lunak yang dapat dieksekusi. Image adalah file biner yang tidak dapat diubah termasuk aplikasi dan semua dependensi lainnya seperti libraries, binaries, dan instruksi yang diperlukan untuk menjalankan aplikasi.

Anda dapat menganggap Docker Images sebagai snapshot dari container Docker.

Sebagian besar Docker Images tersedia di Docker Hub. Docker Hub adalah layanan registri berbasis cloud yang di antara fungsi lainnya digunakan untuk menyimpan Docker Images baik dalam repositori publik atau pribadi.

Cara Mencari Docker Image

Untuk mencari image dari registri Docker Hub cukup gunakan perintah search.

Misalnya, untuk mencari image Debian, gunakan perintah berikut:

docker search debian

Outputnya akan terlihat seperti ini:

docker search image

Seperti yang Anda lihat hasil pencarian mencetak tabel dengan lima kolom, NAME, DESCRIPTION, STARS, OFFICIAL , dan AUTOMATED.

image resmi adalah image yang dikembangkan Docker bersama dengan mitra.

Sebagian besar images di Docker Hub ditandai dengan nomor versi. Ketika tidak ada tag yang ditentukan, Docker akan “pull” image terbaru.

Download Docker Image

Jika kita ingin mengunduh versi resmi dari image Ubuntu, kita dapat melakukannya dengan menggunakan perintah :

docker image pull ubuntu

docker pull image

Tergantung pada kecepatan Internet Anda, proses download mungkin memakan waktu beberapa detik atau beberapa menit.

Saat tidak menentukan tag, docker akan mencari image Ubuntu terbaru. Jika Anda ingin versi Ubuntu sebelumnya, katakanlah Ubuntu 16.04 maka Anda perlu menggunakan docker image pull ubuntu:16.04.

Untuk mencantumkan semua jenis gambar yang telah diunduh:

docker image ls

Outputnya akan terlihat seperti ini:

docker list images debian

Hapus Docker Image

Jika karena alasan tertentu Anda ingin menghapus suatu gambar, Anda dapat melakukannya dengan sub perintah perintah rm dengan nama image yang ingin di hapus.

docker image rm debian

docker-remove-image debian

Docker Container

Sebuah instance dari sebuah image disebut container. Container mewakili runtime untuk satu aplikasi, proses, atau layanan.

Ini mungkin bukan perbandingan yang paling tepat tetapi jika Anda seorang programmer, Anda dapat menganggap image Docker sebagai Class dan Docker Container sebagai instance dari suatu class.

Kita dapat memulai, menghentikan, menghapus, dan mengelola sebuah wadah dengan sub-perintah docker container

Start Docker Container

Perintah berikut akan memulai Docker container berdasarkan pada image Debian. Jika Anda tidak memiliki image secara lokal, maka perintah tersebut akan mengunduhnya terlebih dahulu:

docker container run debian

Sekilas tidak ada yang terjadi sama sekali. Container debian akan berhenti segera setelah booting karena perintah tidak memiliki proses yang berjalan lama dan kita tidak memberikan perintah apa pun, sehingga kontainer tersebut boot, menjalankan perintah kosong dan kemudian keluar.

Switch -it memungkinkan kita untuk berinteraksi dengan container melalui baris perintah. Untuk memulai secara  interaktif jalankan perintah berikut :

docker container run -it debian /bin/bash
[root@712ef9304912 /]#

Seperti yang dapat Anda lihat dari output di atas, setelah container dimulai, command prompt berubah yang berarti bahwa Anda sekarang bekerja dari dalam container.

Melihat List Docker Containers

Untuk melihat daftar container yang aktif, ketik:

docker container ls

Jika Anda tidak memiliki containers yang sedang berjalan, hasilnya akan kosong.
Untuk melihat containers yang aktif dan tidak aktif, berikan switch -a:

docker container ls -a

Hapus Container Docker

Untuk menghapus satu atau lebih kontainer, cukup salin ID container dan paste setelah perintah rm :

docker container rm c55680af670c

Kesimpulan

Anda telah belajar cara menginstal Docker di Debian 9 dan cara mengunduh image Docker dan mengelola containers Docker. Anda mungkin juga ingin membaca tentang Docker Compose, yang memungkinkan Anda untuk mendefinisikan dan menjalankan aplikasi Docker multi-container.

Tutorial ini tidak mencakup seluruh tutorial Docker. Dalam beberapa artikel kami berikutnya, kami akan terus menyelami aspek-aspek lain dari Docker. Untuk mempelajari lebih lanjut tentang Docker, lihat dokumentasi resmi Docker.