Lewati ke konten utama

Instal Docker di Ubuntu: Dari Penyiapan hingga Kontainer Pertama

Hanya perlu beberapa perintah dari pemasangan OS baru hingga menjalankan aplikasi terkontainerisasi pertama Anda. Pelajari caranya dengan panduan penyiapan Docker di Ubuntu yang lengkap ini.
· 11 mnt Baca

Jelajahi bersama AI

Jika Anda ingin berhenti berkata, "di mesin saya sih jalan," kontainerisasi adalah solusinya.

Singkatnya, kontainerisasi memungkinkan Anda mengemas aplikasi ke dalam lingkungan terisolasi dan ringan yang disebut kontainer. Kontainer ini mencakup semua yang dibutuhkan untuk menjalankan aplikasi, seperti kode dan dependensi, tanpa hal yang tidak perlu. Aplikasi yang dikontainerisasi akan berjalan konsisten di berbagai lingkungan, baik di laptop Anda, server pengujian, maupun di produksi.

Docker tetap menjadi platform andalan untuk mengontainerisasi aplikasi pada 2025. Docker dapat berjalan di sistem operasi apa pun, namun seperti kebanyakan alat pengembangan, sistem berbasis UNIX lebih disukai.

Dalam artikel ini, Anda akan mempelajari cara menginstal Docker di Ubuntu, menjalankan kontainer pertama, serta mengelola dan memantau kontainer yang berjalan.

Proses penyiapannya sederhana namun terdiri dari beberapa langkah. Mari kita mulai!

Apakah Docker sama dengan Kubernetes? Berikut semua perbedaannya yang perlu diketahui setiap pengembang.

Menyiapkan Sistem Ubuntu Anda

Sebelum memasang Docker di Ubuntu, ada beberapa tugas awal yang perlu diselesaikan. Anda akan menanganinya semua di bagian ini.

Pertama, pastikan Anda menjalankan sistem Ubuntu, baik versi Desktop maupun Server. Kami menggunakan Ubuntu Server 24.04:

Rincian sistem operasi

Gambar 1 - Rincian sistem operasi

Jika Anda melihat keluaran yang serupa dengan gambar di atas, Anda siap melanjutkan.

Periksa persyaratan sistem

Sebelum menginstal Docker, pastikan sistem Anda memiliki sumber daya yang cukup untuk menjalankannya.

Meskipun Docker tidak menetapkan persyaratan minimum di situsnya (selain arsitektur CPU yang kompatibel), kami menemukan spesifikasi berikut memadai untuk menjalankan Docker itu sendiri:

  • Sistem operasi: Ubuntu Desktop/Server 20.04 atau lebih baru  
  • Arsitektur CPU: 64-bit (x86_64 atau arm64)  
  • Memori: RAM 512 MB  
  • Penyimpanan: 5 GB  

Mesin dengan spesifikasi ini memungkinkan Anda menjalankan Docker, namun tidak banyak lagi. Jangan berharap dapat menjalankan kontainer kompleks atau aplikasi multi-kontainer.

Jika Anda berencana melakukan lebih banyak, targetkan setidaknya RAM 2 GB, penyimpanan 25 GB, dan CPU modern.

Perbarui sistem Ubuntu Anda

Kami menjalankan Docker pada instance Ubuntu Server baru, jadi kami akan menyediakan semua perintah yang diperlukan untuk menyiapkan prasyarat Docker.

Pertama, perbarui daftar paket sistem Anda dan tingkatkan paket yang ada dengan menjalankan perintah berikut:

sudo apt update && sudo apt upgrade -y

Proses ini mungkin memakan waktu beberapa menit, tetapi memastikan manajer paket Anda mengambil versi paket dan pembaruan keamanan terbaru.

Pastikan prasyarat terpenuhi

Docker memerlukan beberapa dependensi agar dapat dipasang dan berfungsi dengan baik. Jalankan perintah ini untuk memasangnya:

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

Singkatnya, perintah di atas mengaktifkan pengunduhan paket melalui HTTPS dan memasang alat yang diperlukan untuk mengambil kunci GPG Docker (yang akan kita bahas nanti).

Dan itu saja—sistem Anda kini siap untuk memasang Docker!

Menginstal Docker di Ubuntu

Setelah prasyarat sistem terpenuhi, pemasangan Docker di Ubuntu terdiri dari empat langkah.

Langkah 1: Tambahkan kunci GPG resmi Docker

Kunci GPG (GNU Privacy Guard) Docker digunakan untuk menandatangani paket dan repositori Docker, sehingga menjamin integritas dan keaslian image dan paket Docker.

Mulailah dengan menjalankan perintah shell yang sesuai untuk mengunduh kunci dan menyimpannya dalam versi yang dikonversi agar kompatibel dengan APT di /usr/share/keyrings.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Langkah 2: Tambahkan repositori APT resmi Docker

Sekarang, tambahkan repositori resmi Docker ke sistem Anda.

Perintah berikut menggunakan kunci GPG yang sebelumnya disimpan untuk memverifikasi keaslian repositori lalu menambahkannya ke sumber paket sistem:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Setelah itu, perbarui daftar paket sistem Anda agar menyertakan repositori baru:

sudo apt update

Langkah 3: Pasang Docker

Sekarang repositori sudah dikonfigurasi, Anda siap memasang Docker di Ubuntu.

Perintah pemasangan akan memasang mesin inti Docker, antarmuka baris perintahnya, dan runtime untuk mengelola eksekusi kontainer:

sudo apt install -y docker-ce docker-ce-cli containerd.io

Setelah pemasangan selesai, Anda akan melihat keluaran yang mengonfirmasi pemasangan berhasil:

Hasil pemasangan Docker

Gambar 2 - Hasil pemasangan Docker

Langkah 4: Verifikasi pemasangan Docker

Docker sekarang seharusnya terpasang di sistem Anda.

Untuk memverifikasi, cetak versi Docker ke konsol. Jika pemasangan berhasil, Anda akan melihat nomor versi ditampilkan:

docker --version

Versi Docker yang terpasang

Gambar 3 - Versi Docker yang terpasang

Per akhir Januari 2025, Docker versi 27.5.1 adalah yang terbaru, dan kami berhasil menjalankannya di Ubuntu Server.

Langkah Pasca-Pemasangan

Sekarang Anda telah memasang Docker dan siap mulai mengontainerisasi aplikasi Anda.

Namun apa itu kontainerisasi? Kursus kami tentang konsep Kontainerisasi dan Virtualisasi akan mengajarkan dasar-dasarnya.

Sebelum itu, kami menyarankan tiga langkah konfigurasi tambahan agar hasilnya maksimal. Bagian ini untuk Anda jika ingin menjalankan Docker saat sistem boot atau mengelola image dan kontainer sebagai pengguna non-root.

Langkah 1: Mulai dan aktifkan layanan Docker

Layanan Docker saat ini berjalan di sistem Anda, tetapi tidak akan otomatis dimulai setelah reboot.

Untuk memastikan Docker otomatis mulai saat boot, gunakan systemctl untuk mengaktifkan layanan:

sudo systemctl enable docker

Anda akan melihat keluaran yang serupa dengan milik kami:

Mengaktifkan layanan Docker saat boot

Gambar 4 - Mengaktifkan layanan Docker saat boot

Ke depan, jika Anda melihat pesan yang menunjukkan Docker tidak berjalan (yang seharusnya tidak terjadi), Anda dapat menjalankan Docker secara manual menggunakan perintah berikut:

sudo systemctl start docker

Docker sekarang akan tetap aktif dan berjalan selama sistem Anda menyala.

Langkah 2: Periksa status Docker

Ada beberapa perintah systemctl tambahan yang dapat Anda gunakan untuk mengelola layanan Docker.

Misalnya, perintah status menampilkan status suatu layanan, yang paling umum adalah active, inactive, atau failed. Meskipun ada lebih banyak kemungkinan status, tiga ini yang paling sering muncul:

sudo systemctl status docker

Status layanan Docker

Gambar 5 - Status layanan Docker

Jika layanan Docker Anda aktif, semua sistem berjalan dengan benar.

Jika Anda melihat status berbeda untuk Docker atau layanan lain, memulai ulang biasanya akan menyelesaikan masalah:

sudo systemctl restart docker

Setelah dimulai ulang, Anda dapat memeriksa status lagi untuk mengonfirmasi bahwa layanan berjalan.

Langkah 3: Kelola Docker sebagai pengguna non-root

Secara bawaan, menjalankan perintah Docker memerlukan sudo, yang bisa merepotkan. Artinya, Anda harus mengetik sudo sebelum perintah docker apa pun.

Untungnya, ada cara mudah agar pengguna non-root dapat menjalankan perintah Docker—dengan menambahkan pengguna saat ini ke grup docker:

sudo usermod -aG docker $USER

Setelah menjalankan perintah di atas, keluar lalu masuk kembali agar perubahan berlaku. Sekarang Anda seharusnya dapat menjalankan perintah Docker tanpa hak superuser.

Kita akan memverifikasinya di bagian berikutnya.

Menguji Pemasangan Docker

Docker kini telah dipasang dan dikonfigurasi. Docker juga berjalan otomatis saat boot dan memungkinkan pengguna Anda menjalankan perintah secara langsung.

Di bagian ini, kita akan menutup dengan menjalankan dua kontainer—satu untuk contoh "Hello, World!" sederhana dan satu lagi untuk skrip Python.

Langkah 1: Jalankan kontainer uji Docker

Docker menyediakan image uji sederhana bernama hello-world, yang semata-mata digunakan untuk memastikan Docker berfungsi dengan baik.

Jalankan perintah berikut untuk memulai image tersebut:

docker run hello-world

Karena image tidak ditemukan secara lokal, Docker akan mengunduhnya secara otomatis dari web. Setelah beberapa saat, Anda akan melihat keluaran serupa ini:

Contoh hello world Docker

Gambar 6 - Contoh hello world Docker

Singkatnya, ini mengonfirmasi bahwa Docker terpasang dengan benar, daemon Docker berjalan, dan sistem Anda dapat menarik image dari Docker Hub.

Langkah 2: Jalankan kontainer "nyata" pertama Anda

Jika Anda ingin membangun image dari nol, bagian ini untuk Anda.

Kita akan membangun image sederhana yang menjalankan Python 3.9 yang, saat diluncurkan, mengeksekusi skrip Python kustom.

Mulailah dengan membuat folder khusus dan berkas app.py yang akan dieksekusi:

mkdir python-docker-test && cd python-docker-test
nano app.py

Berkas tersebut hanya berisi perintah print() sederhana, namun tentu saja Anda dapat mengembangkannya dengan logika yang lebih kompleks:

print("Hello from Docker running on Ubuntu!")

Di folder yang sama, buat Dockerfile yang memberi tahu Docker cara membangun image langkah demi langkah:

nano Dockerfile

Tiga baris ini sudah cukup:

FROM python:3.9-slim
COPY app.py /app.py
CMD ["python", "/app.py"]

Intinya, Docker diarahkan untuk mengambil image python:3.9-slim dari Docker Hub, menyalin skrip app.py ke kontainer, lalu menjalankan skrip tersebut.

Sekarang, Anda seharusnya memiliki berkas berikut di direktori kerja Anda:

Isi aplikasi demo Python

Gambar 7 - Isi aplikasi demo Python

Untuk membangun image, jalankan perintah berikut:

docker build -t python-hello .

Perintah di atas membuat image baru di direktori saat ini (.) dan memberinya tag python-hello.

Membangun image Docker

Gambar 8 - Membangun image Docker

Untuk menjalankan image, gunakan perintah docker run diikuti tag image. Flag opsional --rm memastikan kontainer dihapus setelah keluar, yang terjadi segera setelah skrip Python selesai dieksekusi:

docker run --rm python-hello

Menjalankan skrip Python di Docker

Gambar 9 - Menjalankan skrip Python di Docker

Dan dengan begitu saja, Anda telah berhasil mengontainerisasi aplikasi Python pertama Anda dengan Docker yang berjalan di Ubuntu!

Jika Anda mencari penerapan machine learning dengan Docker, Containerization: Docker and Kubernetes for Machine Learning dari DataCamp adalah bacaan lanjutan yang disarankan.

Memperbarui dan Menghapus Pemasangan Docker di Ubuntu

Menjalankan Docker di lingkungan Anda sendiri memberi kendali penuh tetapi juga membuat Anda bertanggung jawab untuk mengikuti pembaruan terbaru, fitur baru, dan patch keamanan.

Bagian ini menjelaskan cara melakukan tugas dasar seperti memperbarui Docker dan menghapusnya sepenuhnya dari sistem Anda.

Memperbarui Docker

Memperbarui Docker terdiri dari dua langkah utama:

  • Memperbarui daftar paket untuk mengambil versi Docker terbaru.
  • Meningkatkan Docker (inti, CLI, dan runtime manajemen kontainer) ke versi terbaru.

Jalankan perintah berikut di terminal untuk memperbarui Docker di Ubuntu:

sudo apt update
sudo apt upgrade -y docker-ce docker-ce-cli containerd.io
docker --version

Perintah docker -- version menampilkan versi yang saat ini terpasang. Ini adalah cara termudah untuk memverifikasi apakah Docker telah diperbarui dengan sukses.

Menghapus pemasangan Docker

Jika Anda perlu menghapus Docker dari sistem, mulailah dengan mencopot Docker dan paket terkait serta menghapus sisa berkas dan konfigurasi terkait Docker.

Selain itu, Anda dapat secara opsional menghapus repositori Docker dari sumber APT.

Empat perintah berikut akan menghapus pemasangan Docker dari sistem Ubuntu Anda, tetapi ingat hanya tiga yang pertama yang diperlukan:

sudo apt remove -y docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# Optional
sudo rm /etc/apt/sources.list.d/docker.list

Setelah menjalankan perintah ini, menjalankan docker --version seharusnya mengembalikan galat yang menandakan Docker tidak lagi terpasang.

Praktik Terbaik untuk Docker di Ubuntu

Mengelola Docker memerlukan pemeliharaan berkelanjutan, karena Anda bertanggung jawab untuk menghapus sumber daya yang tidak digunakan dan memantau kinerja.

Di bagian ini, kita akan membahas dua tugas perapihan penting yang harus Anda lakukan secara berkala saat menjalankan Docker di Ubuntu.

Bersihkan sumber daya Docker secara berkala

Seiring waktu, image, kontainer, jaringan, dan volume Docker yang tidak digunakan dapat menumpuk dan menghabiskan banyak ruang disk.

Membersihkan sumber daya ini dikenal sebagai pruning, meskipun penjelasan rinci berada di luar cakupan artikel ini.

Ingat saja perintah ini — ini akan menghapus semua kontainer, image, volume, dan jaringan yang tidak digunakan sekaligus:

docker system prune -a -f

Pembersihan sumber daya

Gambar 10 - Pembersihan sumber daya

Kami hanya mendapatkan kembali 10 kB, tetapi di lingkungan yang lebih “serius”, perintah ini sering kali dapat membebaskan puluhan gigabita ruang disk.

Amankan pemasangan Docker Anda

Kita sudah membahas dua topik keamanan penting — menjaga Docker tetap diperbarui dan mengelola izin superuser.

Selain itu, berikut beberapa langkah lagi untuk meningkatkan keamanan Docker di Ubuntu:

  • Batasi hak istimewa kontainer: Hindari menjalankan kontainer dengan flag --privileged sebisa mungkin, karena hal itu menonaktifkan banyak pemeriksaan keamanan yang mengisolasi kontainer dari sistem host.
  • Gunakan hanya image resmi dan tepercaya: Jangan menarik image dari registri pihak ketiga yang tidak terverifikasi. Gunakan sumber tepercaya seperti Docker Hub dan registri privat.
  • Aktifkan Docker Content Trust (DCT): Mengatur variabel lingkungan ini memastikan hanya image yang ditandatangani dan terverifikasi yang digunakan.

Pantau kinerja Docker

CLI Docker menyertakan alat yang ampuh untuk membantu Anda memantau kinerja kontainer dan mengidentifikasi potensi masalah.

Sebelum menyelaminya, mari ubah berkas app.py agar tetap berjalan setelah kontainer dimulai:

import time

time.sleep(10000)
print("Hello from Docker running on Ubuntu!")

Alasannya sederhana — kita membutuhkan kontainer yang berjalan untuk memantau kinerjanya.

Mari mulai dengan perintah ps. Singkatnya, ini mencantumkan semua kontainer yang sedang berjalan:

docker ps

Kontainer Docker yang berjalan

Gambar 11 - Kontainer Docker yang berjalan

Walau keluarannya tidak banyak mengungkap, kolom CONTAINER ID sangat penting untuk inspeksi lebih lanjut.

Sekarang, mari jelajahi perintah stats, yang menampilkan penggunaan sumber daya secara real-time, termasuk konsumsi CPU, memori, dan jaringan untuk semua kontainer yang berjalan:

docker stats

Statistik kontainer

Gambar 12 - Statistik kontainer

Jika Anda memerlukan rincian penggunaan sumber daya dan konfigurasi sebuah kontainer, gunakan perintah inspect.

Cukup berikan ID kontainer:

docker inspect <container_id>

Rincian kontainer

Gambar 13 - Rincian kontainer

Jika Anda mengalami masalah dengan kontainer Docker, perintah logs dapat membantu mendiagnosis masalah dan mungkin mengidentifikasi penyebabnya.

Perintah ini juga memerlukan ID kontainer:

docker logs <container_id>

Terminal menampilkan log kontainer

Gambar 14 - Log kontainer

Terkadang, Anda perlu terhubung langsung ke kontainer yang berjalan. Jika Anda mengetahui ID kontainer, ini mudah dilakukan:

docker exec -it <container_id> bash

Terminal menampilkan log kontainer

Gambar 15 - Log kontainer

Perintah sebelumnya membuka shell di dalam kontainer Docker yang ditentukan, memungkinkan Anda mengakses atau memodifikasi berkas secara langsung.

Merangkum Docker di Ubuntu

Hari ini, Anda telah mempelajari cara memasang, mengonfigurasi, dan mengelola Docker di Ubuntu. 

Jika Anda mengikuti setiap langkah, Anda kini memiliki Docker yang berjalan di sistem Anda, yang otomatis mulai saat boot dan tidak memerlukan izin superuser untuk mengelola kontainer. Anda juga telah mempelajari cara memverifikasi pemasangan Docker, menjalankan kontainer uji, dan bahkan membangun aplikasi Python terkontainerisasi kustom pertama Anda.

Itu banyak, tetapi ini baru permulaan saja. Masih banyak lagi dalam kisah kontainerisasi ini, dan kami sangat menyarankan untuk melihat sumber resmi kami agar mahir dalam Docker:

FAQs

Untuk apa Docker digunakan?

Docker digunakan untuk mengotomatisasi penerapan aplikasi ke dalam kontainer ringan, yang mengemas aplikasi dan dependensinya ke lingkungan terisolasi yang dapat direproduksi dan independen dari lingkungan host.

Apakah Ubuntu bagus untuk Docker?

Ubuntu adalah pilihan yang sangat baik untuk menjalankan Docker, baik varian Desktop maupun Server. Ini adalah distribusi Linux yang populer dan stabil yang disukai pengembang. Meski begitu, Anda juga dapat menjalankan Docker di distribusi Linux lainnya.

Mengapa saya harus menggunakan Docker?

Docker memberikan manfaat lingkungan yang konsisten untuk pengembangan/pengujian/produksi, penerapan aplikasi yang lebih cepat, dan penskalaan yang lebih mudah, sekaligus membuat aplikasi mudah dipindahkan antarlingkungan dan sistem yang berbeda.

Apa perbedaan antara Docker dan mesin virtual?

Kontainer Docker berbagi kernel dan sumber daya OS host, sehingga ringan dan lebih cepat daripada mesin virtual. VM menjalankan sistem operasi terpisah dan memerlukan lebih banyak sumber daya sistem.

Bagaimana saya tahu Docker berfungsi dengan baik?

Anda bisa mulai dengan memeriksa apakah Docker terpasang dengan menjalankan perintah docker –version. Selain itu, menjalankan kontainer uji sederhana seperti hello-world akan memverifikasi bahwa Docker berfungsi.

Dario Radečić

Penulis

Dario Radečić

Senior Data Scientist yang berbasis di Kroasia. Penulis Tekno Teratas dengan lebih dari 700 artikel yang telah diterbitkan, menghasilkan lebih dari 10 juta tayangan. Penulis buku Machine Learning Automation with TPOT.

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai