idwebhost Bikin Website Sekarang

Docker adalah: Teknologi Kontainerisasi Favorit Developer

28 Okt 2024
Docker adalah: Teknologi Kontainerisasi Favorit Developer campaign-unlimited

Docker adalah salah satu teknologi yang digandrungi developer di seluruh dunia untuk membangun, menjalankan, dan mengelola aplikasi dengan cara yang lebih efisien.

Yuk, simak lebih lanjut mengenai teknologi Docker!

Docker adalah

Docker adalah platform containerization (kontainerisasi) yang memungkinkan pengembang mengemas aplikasi beserta seluruh dependensinya ke dalam satu unit terisolasi yang disebut container.

Singkatnya, container adalah unit standar yang menggabungkan kode aplikasi, pustaka, dependencies, dan file konfigurasi yang diperlukan untuk menjalankan aplikasi.

Dengan Docker, pengembang bisa memastikan aplikasi berjalan konsisten di mana pun, baik di laptop, server produksi, hingga lingkungan cloud. Teknologi ini mengurangi masalah kompatibilitas lingkungan yang sering dihadapi dalam pengembangan perangkat lunak.

Lalu, apa bedanya Docker dengan virtual machine (VM)? Pada VM, setiap aplikasi memiliki sistem operasi lengkap di atas hypervisor, sehingga lebih memakan resource.

Docker lebih ringan karena tidak memerlukan OS terpisah di tiap container, cukup satu kernel host saja yang digunakan bersama-sama. Nah, ini membuat Docker lebih efisien dalam menggunakan resource dan menghemat ruang serta memori, membuatnya lebih cepat dan fleksibel dibandingkan dengan VM.

Docker adalah

Mengapa Docker Penting untuk Developer?

Docker mempermudah proses pengembangan dan deployment aplikasi dengan beberapa manfaat berikut:

  1. Konsistensi Lintas Platform
    Dengan Docker, aplikasi yang berjalan di komputer pengembang akan tetap berjalan baik di server produksi. Ini memungkinkan developer mengemas seluruh lingkungan aplikasi ke dalam satu container yang mudah dipindahkan ke platform lain.
  2. Efisiensi Resource
    Docker memungkinkan developer menjalankan beberapa container pada satu server, menghemat resource dibandingkan dengan penggunaan VM. Ini juga memungkinkan lebih banyak aplikasi berjalan pada infrastruktur yang sama tanpa perlu peningkatan resource.
  3. Kecepatan Pengembangan
    Container Docker lebih ringan, sehingga lebih cepat dalam hal pengembangan dan pengujian. Developer bisa membuat dan menjalankan container dalam hitungan detik, mengurangi waktu pengembangan secara signifikan.
  4. Portabilitas dan Skalabilitas
    Docker memudahkan developer memindahkan container dari satu lingkungan ke lingkungan lain tanpa perlu perubahan konfigurasi yang kompleks. Ini juga memudahkan scaling aplikasi dengan cepat sesuai kebutuhan.

Komponen-Komponen Docker

Docker dilengkapi dengan berbagai komponen yang mendukung pengembang dalam membangun, menguji, dan menjalankan aplikasi secara lebih efektif. Berikut adalah beberapa komponen utamanya:

  • Docker Hub: Repositori container image terbesar di dunia, memungkinkan kamu untuk menemukan, menggunakan, dan berbagi image Docker.
  • Docker Compose: Alat untuk mendefinisikan dan menjalankan aplikasi multi-container, sangat berguna dalam pengembangan aplikasi yang kompleks.
  • Docker Engine: Teknologi containerisasi inti Docker, yang memungkinkan developer membangun dan mengoperasikan container.
  • Docker Desktop: Menyediakan antarmuka pengguna, sinkronisasi file, dan berbagai fitur keamanan seperti Enhanced Container Isolation (ECI) dan pengelolaan administratif.
  • Docker Build Cloud: Layanan cloud dari Docker untuk membangun image container yang cepat dan bisa diakses tim di mana saja.

Cara Install Docker

Nah, setelah memahami manfaat Docker, sekarang kita masuk ke langkah-langkah instalasi Docker.

Docker menyediakan Docker Desktop untuk pengguna Windows, Mac, dan Linux. Dikutip dari docker.com, berikut langkah-langkah dasar untuk menginstal Docker Desktop di Windows:

Langkah 1: Instal Docker Desktop

Unduh installer Docker Desktop dari halaman dokumentasi atau catatan rilis. Jalankan installer Docker Desktop untuk Windows dengan double-click pada file Installer.exe

Secara default, Docker Desktop akan diinstal di C:\Program Files\Docker\Docker. Saat proses instalasi, pilih opsi WSL 2 daripada Hyper-V pada halaman konfigurasi. 

Jika sistem kamu hanya mendukung satu di antara dua pilihan tersebut, kamu tidak akan bisa memilih backend mana yang akan digunakan. 

Ikuti instruksi di wizard untuk memberikan otorisasi pada installer dan lanjutkan proses instalasi hingga selesai. Setelah berhasil diinstal, klik “Close” untuk menutup jendela instalasi.

Langkah 2: Buat Dockerfile

Dockerfile adalah file berbasis teks yang berisi skrip instruksi tentang cara membangun image container Docker. 

Buat Dockerfile di direktori proyek kamu dengan menambahkan file bernama “Dockerfile” (tanpa ekstensi apa pun) di dalam direktori aplikasi. 

Dalam file ini, tulis detail container seperti sistem operasi, lokasi file, konfigurasi lingkungan, dependencies, dan lainnya. Berikut adalah contoh Dockerfile sederhana untuk menjalankan server web Apache:


FROM httpd:2.4
COPY ./public-html/ /usr/local/apache2/htdocs/

Kemudian, jalankan perintah ini untuk membangun dan menjalankan image Docker:

docker build -t my-apache2 .
docker run -dit --name my-running-app -p 8080:80 my-apache2

Setelah itu, kunjungi http://localhost:8080 untuk memastikan server Apache berjalan dengan baik.

Langkah 3: Bangun Image Docker

Dockerfile yang baru saja kamu buat memungkinkan kita untuk membangun image container Docker pertama. 

Perintah docker build pada langkah sebelumnya akan memulai image Docker baru menggunakan Dockerfile dan context, yang merupakan kumpulan file di direktori yang ditentukan sebagai PATH atau URL. 

Pada proses pembangunan, Docker image dimulai dari base image yang perlu diunduh dari repository untuk memulai proyek image baru.

Langkah 4: Jalankan Container Docker

Untuk menjalankan container baru, gunakan perintah docker run. Perintah ini akan mengunduh image jika diperlukan dan kemudian menjalankan container tersebut. 

Secara default, saat kamu membuat atau menjalankan container menggunakan docker create atau docker run, container tidak akan mengekspos port ke dunia luar. 

Agar port dapat diakses di luar Docker, kamu perlu menggunakan perintah –publish atau -p. Ini akan membuat aturan firewall pada host untuk memetakan port container ke port pada host Docker.

Langkah 5: Akses Aplikasi Web Kamu

Untuk mengakses aplikasi web yang berjalan di dalam container Docker, kamu harus mempublikasikan port container ke host.

Kamu bisa melakukannya menggunakan perintah docker run dengan flag –publish atau -p, dengan format [host_port]:[container_port]

Contoh:

bash

docker run -d -p 8080:80 docker/welcome-to-docker

Dalam perintah ini, port pertama 8080 adalah port di host lokal yang akan digunakan untuk mengakses aplikasi di dalam container

Sedangkan 80 adalah port di dalam container yang mendengarkan koneksi masuk. Jadi, perintah tersebut mengikat port 8080 dari ke port 80 pada container

Setelah container berjalan dengan port yang dipublikasikan, buka browser dan kunjungi http://localhost:8080 untuk mengakses aplikasi. 

Kamu juga bisa menggunakan Docker Compose untuk menjalankan container dan mempublikasikan port-nya. Berikut contoh file compose.yaml yang bisa kamu buat:

yaml

services:
  app:
    image: docker/welcome-to-docker
    ports:
      - 8080:80

Setelah membuat file ini, jalankan aplikasi dengan perintah docker compose up. Kamu bisa mengakses aplikasi web di http://localhost:8080.

Langkah 6: Lakukan Pembaruan

Untuk memperbarui aplikasi Docker di dalam container, ikuti beberapa langkah berikut.

Pertama, hentikan container dengan perintah docker stop, kemudian hapus container yang ada menggunakan perintah docker rm (remove)

Selanjutnya, buat container baru dengan image yang diperbarui menggunakan perintah docker run

Container lama harus dihentikan terlebih dahulu sebelum diganti karena port 3000 pada host sudah digunakan oleh container lama, dan hanya satu proses di mesin (termasuk container) yang bisa mendengarkan satu port tertentu pada waktu yang sama.

Docker adalah

Baca Juga: Drupal adalah: CMS Serbaguna untuk Website Profesional

Kesimpulan

Dengan Docker, pengembang bisa lebih produktif dan efisien dalam membangun aplikasi. Teknologi ini memberikan banyak kemudahan, terutama dalam hal portabilitas dan skalabilitas. 

Bagi kamu yang ingin memaksimalkan penggunaan Docker, kamu bisa menghosting aplikasi berbasis website di layanan hosting yang cepat dan stabil dari IDwebhost, sehingga aplikasi yang kamu bangun dapat diakses dengan baik di seluruh dunia. 

Rifka Amalia

Member since 23 Aug 2024