Menu
News
EkBis
New Economy
Kabar Finansial
Global Connections
Sport & Lifestyle
Kabar Sawit
Video
    Indeks
      About Us
        Social Media

        Apa Itu Docker?

        Apa Itu Docker? Kredit Foto: Acer
        Warta Ekonomi, Jakarta -

        Docker adalah sebuah software framework untuk membangun, menjalankan, dan mengelola container di server dan cloud. Istilah "docker" dapat merujuk ke alat (perintah dan daemon) atau ke format file Dockerfile.

        Dulu ketika Anda ingin menjalankan aplikasi web, Anda harus membeli server, menginstal Linux, menyiapkan LAMP stack, dan mulai menjalankan aplikasi tersebut. Jika aplikasi Anda menjadi populer, Anda perlu mempraktikkan penyeimbangan beban yang baik dengan menyiapkan server kedua untuk memastikan aplikasi tersebut tidak mogok karena terlalu banyak trafik.

        Baca Juga: Apa Itu Black-box Testing?

        Namun, zaman telah berubah, dan alih-alih berfokus pada server tunggal, internet dibangun di atas susunan server yang saling bergantung dan berlebihan dalam sistem yang biasa disebut "cloud". Berkat inovasi seperti Linux Kernel namespace dan cgroup, konsep server dapat dihilangkan dari batasan hardware dan pada dasarnya menjadi bagian dari software itu sendiri. Server berbasis server ini disebut sebagai container dan merupakan campuran hibrida dari OS Linux yang mereka jalankan ditambah dengan hyper-localized runtime environment atau isi dari container.

        Teknologi container dapat dibagi tiga kategori yang berbeda, yaitu:

        1. Builder: alat atau serangkaian alat yang digunakan untuk membangun sebuah wadah, seperti distrobuilder untuk LXC, atau Dockerfile untuk Docker;
        2. Engine: aplikasi yang digunakan untuk menjalankan container. Untuk Docker, ini mengacu pada docker command dan docker daemon. Untuk yang lain, ini dapat merujuk ke daemon container dan perintah yang relevan (seperti podman);
        3. Orchestration: teknologi yang digunakan untuk mengelola banyak container, termasuk Kubernetes dan OKD.

        Container sering mengirimkan aplikasi dan konfigurasi, yang berarti sysadmin tidak perlu menghabiskan banyak waktu untuk menjalankan aplikasi dalam container dibandingkan dengan saat aplikasi diinstal dari sumber konvensional. Dockerhub dan Quay.io adalah repositori yang menawarkan gambar untuk digunakan oleh mesin container.

        Namun, daya tarik terbesar dari container adalah kemampuannya untuk "mati" dengan anggun dan muncul kembali saat load balancing menuntutnya. Walau "kematian" container disebabkan oleh kerusakan atau karena tidak lagi diperlukan karena trafik server yang rendah, container dirancang untuk muncul dan menghilang kembali dengan mulus. Karena container dimaksudkan untuk sementara dan untuk menelurkan instance baru sesering yang diperlukan, pemantauan dan pengelolaannya diharapkan tidak dilakukan oleh manusia secara real time, tetapi secara otomatis.

        Mengenal Komponen pada Docker

        Docker menjadi populer berkat para software developer karena mereka menemukan cara baru untuk mengemas alat yang diperlukan untuk membangun dan meluncurkan container dengan cara yang lebih ramping dan mudah disederhanakan daripada cara lain yang mungkin dilakukan sebelumnya. Docker terdiri dari Dockerfile, container image, Docker run utility, Docker Hub, Docker Engine, Docker Compose, dan Docker Desktop.

        • Dockerfile. Setiap Docker container dimulai dengan Dockerfile. File teks ini menyediakan serangkaian instruksi untuk membangun Docker image, termasuk sistem operasi, bahasa, environment variable, lokasi file, port jaringan, dan komponen lain yang perlu dijalankan;
        • Docker image. Mirip dengan snapshot di dunia VM, Docker image adalah file portabel, read-only, yang dapat dieksekusi dan berisi instruksi untuk membuat container dan spesifikasi komponen software yang akan dijalankan oleh container beserta cara menjalankannya;
        • Docker run utility. Docker run utility adalah perintah untuk meluncurkan container. Setiap container adalah instance dari sebuah image, dan beberapa instance dari image yang sama dapat dijalankan secara bersamaan;
        • Docker Hub. Docker Hub adalah repositori tempat gambar container dapat disimpan, dibagikan, dan dikelola. Anggap saja ini sebagai GitHub versi Docker sendiri, tetapi khusus untuk container;
        • Docker Engine. Docker Engine adalah inti dari Docker. Ini adalah teknologi client-server yang membuat dan menjalankan container. Docker Engine menyertakan proses daemon yang disebut dockerd untuk mengelola container, API yang memungkinkan program berkomunikasi dengan Docker daemon, dan command line interface;
        • Docker Compose. Docker Compose adalah command line tool yang menggunakan file YAML untuk mendefinisikan dan menjalankan aplikasi Docker multi-container. Ini memungkinkan Anda untuk membuat, memulai, menghentikan, dan membangun kembali semua layanan dari konfigurasi Anda serta melihat status dan keluaran log dari semua layanan yang berjalan;
        • Docker Desktop. Semua bagian komponen ini dibungkus dalam aplikasi Desktop Docker. Alat ini menyediakan cara yang mudah digunakan untuk membangun dan berbagi aplikasi atau layanan mikro dalam container.

        Mengapa Perlu Menggunakan Docker?

        Docker menjadi alat yang populer saat ini sehingga Docker dan container digunakan secara bergantian. Akan tetapi, teknologi terkait container pertama sudah tersedia selama bertahun-tahun, bahkan beberapa dekade, sebelum Docker dirilis ke publik pada tahun 2013.

        Pada tahun 2008, LinuXContainers (LXC) diimplementasikan di Linux Kernel, memungkinkan virtualisasi sepenuhnya untuk satu instance Linux. Sementara LXC masih digunakan sampai sekarang, teknologi yang lebih baru menggunakan Linux Kernel sudah tersedia. Ubuntu, sistem operasi Linux open-source modern, juga menyediakan kemampuan ini.

        Baca Juga: Apa Itu White-box Testing?

        Docker meningkatkan kemampuan containerization Linux asli dengan teknologi yang memungkinkan:

        1. Portabilitas: Meskipun LXC container sering merujuk pada konfigurasi khusus mesin, Docker container dapat berjalan tanpa modifikasi di desktop, database, dan cloud environment apa saja;
        2. Bobot yang lebih ringan dan pembaruan yang lebih terperinci: Dengan LXC, beberapa proses dapat digabungkan dalam satu container. Dengan Docker container, hanya ada satu proses yang dapat berjalan di setiap container. Ini memungkinkan untuk membangun aplikasi yang dapat terus berjalan, sementara salah satu bagiannya diturunkan untuk dilakukan pembaruan atau perbaikan;
        3. Pembuatan container otomatis: Docker dapat secara otomatis membuat container berdasarkan source code aplikasi;
        4. Pembuatan versi container: Docker dapat melacak versi dari container image, kemudian memutar kembali ke versi sebelumnya, dan melacak siapa yang membuat versi dan bagaimana cara membuatnya;
        5. Penggunaan kembali container: Container yang ada dapat digunakan sebagai fondasi gambar, atau pada dasarnya seperti template untuk membuat container baru.
        6. Pustaka shared container: Developer dapat mengakses registri open-source yang berisi ribuan container yang disumbangkan pengguna lainnya.

        Docker containerization hari ini juga dapat berfungsi dengan server Microsoft Windows. Selain itu, sebagian besar penyedia cloud menawarkan layanan khusus untuk membantu developer dalam membangun, mengirimkan, dan menjalankan aplikasi yang dikemas dengan Docker.

        Bagaimana Kabar Docker Saat Ini?

        Penggunaan container terus berkembang karena teknik pengembangan cloud-native menjadi model utama untuk membangun dan menjalankan software, tetapi Docker sekarang hanyalah bagian dari teka-teki itu sendiri.

        Docker menjadi mainstream dengan memudahkan pemindahan kode untuk aplikasi dan semua dependensinya dari laptop developer ke server. Namun, kemunculan container menyebabkan pergeseran cara aplikasi dibangun, mulai dari tumpukan monolitik ke jaringan layanan mikro. Akan ada banyak pengguna membutuhkan cara untuk mengatur dan mengelola grup container dalam skala besar.

        Lahir dari Google, proyek open-source Kubernetes dengan cepat muncul sebagai cara terbaik untuk melakukan ini, menggantikan upaya Docker sendiri untuk memecahkan masalah ini dengan orkestra Swarm (RIP). Di tengah meningkatnya masalah pendanaan, Docker akhirnya menjual bisnis perusahaannya ke Mirantis pada tahun 2019, yang sejak itu telah menyerap Docker Enterprise ke dalam Mirantis Kubernetes Engine.

        Sisa-sisa Docker, yang mencakup open-source Docker Engine container runtime asli, repositori image Docker Hub, dan aplikasi Docker Desktop tetap hidup di bawah kepemimpinan veteran perusahaan Scott Johnston, yang ingin mengorientasikan kembali bisnisnya di sekitar basis pelanggan utamanya, yaitu software developer.

        Mau Berita Terbaru Lainnya dari Warta Ekonomi? Yuk Follow Kami di Google News dengan Klik Simbol Bintang.

        Penulis: Patrick Trusto Jati Wibowo
        Editor: Puri Mei Setyaningrum

        Tag Terkait:

        Bagikan Artikel: