Lewati ke konten utama

Play with Docker: Jalankan Container Gratis di Peramban Anda

Pelajari cara menggunakan Docker di peramban dengan Play with Docker. Jalankan container, bangun Dockerfile, dan gunakan Docker Compose melalui playground Docker online ini.
· 12 mnt Baca

Jelajahi bersama AI

Bayangkan menyiapkan klaster Docker Swarm multi-node dalam hitungan detik tanpa menginstal apa pun di laptop Anda. Bertahun-tahun saya melihat pengembang kesulitan memasang Docker, bergulat dengan dependensi sistem, mengatasi error perizinan, dan khawatir apakah perangkat keras mereka yang sudah menua mampu menangani kebutuhan sumber daya. 

Lalu saya menemukan Play with Docker, dan itu benar-benar mengubah cara saya mengajar dan mempelajari kontainerisasi.

Play with Docker adalah sandbox berbasis peramban yang gratis, memberi Anda akses instan ke mesin virtual Alpine Linux tempat Anda dapat membangun dan menjalankan container Docker. Baik Anda seorang praktisi data pemula yang baru memulai perjalanan kontainerisasi atau profesional berpengalaman yang ingin cepat menguji fitur Docker baru, PWD menyediakan lingkungan yang mudah diakses dan bebas risiko. 

Dalam tutorial komprehensif ini, saya akan memandu Anda mulai dari container pertama hingga orkestrasi multi-container dengan Docker Compose. Pada akhirnya, Anda akan menjalankan server web terkontainer tanpa pernah meninggalkan peramban.

Jika Anda baru mengenal Docker dan konsepnya, saya sarankan mengikuti Introduction to Docker kami atau mempelajari Containerization and Virtualization Concepts.

Apa Itu Play With Docker?

Play with Docker (PWD) adalah playground Docker gratis dan sementara yang berjalan langsung di peramban web Anda. Dibuat oleh Docker Captain Marcos Liljedhal dan Jonathan Leibiusky, PWD lahir dari proyek hackathon dan dengan cepat menjadi alat penting bagi komunitas Docker.

Pada dasarnya, PWD menggunakan teknologi Docker-in-Docker (dind), di mana container Docker berjalan di dalam container Docker lainnya. Arsitektur bertingkat ini mungkin terdengar kompleks, tetapi inilah yang memungkinkan Anda bereksperimen dengan fungsionalitas Docker lengkap, termasuk fitur lanjutan seperti klaster Swarm multi-node, tanpa memengaruhi mesin lokal Anda. 

Platform ini menangani semua kerumitan di balik layar, menyajikan antarmuka terminal yang bersih. PWD menyediakan instance Alpine Linux, distribusi Linux ringan yang sempurna untuk beban kerja container. Alpine sengaja dibuat minimalis, dengan ukuran image dasar hanya sekitar 5 MB dibandingkan Ubuntu yang 100+ MB. 

Efisiensi ini berarti unduhan lebih cepat dan waktu mulai yang lebih singkat. Setiap instance hadir dengan pengalaman terminal lengkap, memberi Anda kekuatan baris perintah yang sama seperti pada instalasi lokal, termasuk shell, Docker CLI, dan Docker Compose.

PWD menghilangkan hambatan instalasi bagi pemula sekaligus menyediakan ruang bagi pengguna tingkat lanjut untuk menguji fitur orkestrasi seperti Docker Swarm. Anda dapat membuat klaster multi-node, bereksperimen dengan konfigurasi jaringan, dan menguji penjadwalan container, semuanya tanpa overhead mengelola mesin virtual atau instance cloud.

Play With Docker vs Docker Desktop

Dengan pemahaman yang jelas tentang apa yang ditawarkan PWD, Anda mungkin bertanya-tanya kapan menggunakannya dibandingkan memasang Docker Desktop secara lokal. Memahami kapan menggunakan Play with Docker versus Docker Desktop akan menghemat waktu dan mengurangi frustrasi.

Play with Docker menawarkan akses instan melalui peramban tanpa instalasi, tanpa konsumsi sumber daya lokal, dan dukungan penuh untuk Docker Swarm, semuanya gratis. Namun, sesi hanya berlangsung dua jam sebelum semuanya dihapus, kinerjanya terbatas, dan tidak ada penyimpanan persisten setelah sesi kedaluwarsa.

Catatan: Dokumentasi PWD menunjukkan durasi sesi empat jam, tetapi saat saya mengujinya, sebenarnya hanya dua jam. Tampaknya dokumentasinya belum diperbarui.

Docker Desktop berjalan secara lokal di mesin Anda, menyediakan penyimpanan persisten, kinerja yang lebih baik, dan integrasi mulus dengan alat pengembangan seperti Visual Studio Code. Anda dapat mengerjakan proyek jangka panjang tanpa keterputusan sesiuts.

Fitur

Play with Docker

Docker Desktop

Penyiapan

Tanpa instalasi, berbasis peramban

Perlu instalasi

Durasi sesi

Batas 2 jam

Tanpa batas waktu

Kinerja

Sumber daya bersama, terbatas

Sumber daya sistem penuh

Penyimpanan

Sementara, dihapus setelah sesi

Persisten di disk lokal

Biaya

Gratis

Gratis untuk penggunaan pribadi; berbayar untuk enterprise

Dampak sistem

Tidak ada (berbasis cloud)

Menggunakan CPU dan memori lokal

Dukungan Swarm

Dukungan native

Perlu penyiapan tambahan

Integrasi IDE

Tidak ada

Sangat baik (VS Code, dll.)

Kapan menggunakan Play With Docker

Play with Docker unggul dalam skenario berikut: 

  • Uji coba sekali jalan 
  • Mengikuti tutorial
  • Bekerja di laptop berspesifikasi rendah atau Chromebook
  • Berbagi URL sesi langsung dengan rekan untuk debugging atau demonstrasi

Kapan menggunakan Docker Desktop

Docker Desktop menjadi penting untuk 

  • Pekerjaan pengembangan harian
  • Integrasi IDE
  • Proyek persisten yang berlangsung berminggu-minggu atau berbulan-bulan
  • Beban kerja intensif sumber daya yang memerlukan jaringan dan volume kustom

Mulai Menggunakan Play With Docker

Sekarang setelah Anda tahu kapan PWD adalah alat yang tepat untuk kebutuhan Anda, mari kita siapkan dan jalankan sesi pertama Anda.

Menyiapkan Play with Docker

Sebelum mulai, Anda memerlukan akun Docker Hub. Kunjungi Docker Hub untuk membuatnya. Jika belum punya, cukup sediakan email dan kata sandi.

Masuk ke Play with Docker

Masuk ke Play with Docker

Buka situs Play with Docker dan masuk menggunakan kredensial Docker Hub Anda. Setelah autentikasi, klik tombol hijau "Start" untuk membuat sesi Anda. Dalam hitungan detik, PWD menyediakan lingkungan Alpine Linux baru di peramban dengan penghitung waktu mundur yang menunjukkan sisa waktu sesi dua jam Anda.

Menavigasi dasbor Play with Docker

Antarmuka PWD sederhana namun kuat. Klik "Add New Instance" untuk membuat container Alpine Linux baru. Anda dapat menjalankan hingga 5 instance secara bersamaan untuk menguji klaster multi-node. Jendela terminal utama menyediakan shell bash lengkap dengan Docker pra-instal. 

Perhatikan penghitung waktu mundur. Saat mencapai nol, semuanya dihapus tanpa cara memperpanjang sesi.

Dasbor di Play with Docker

Dasbor di Play with Docker

Petunjuk: Operasi tempel standar Ctrl+V sering kali tidak berfungsi di PWD. Gunakan Ctrl+Insert untuk menyalin dan Shift+Insert untuk menempel. Uji pintasan tempel Anda segera untuk menghindari frustrasi.

Operasi Inti di Play With Docker

Dengan lingkungan PWD siap dan antarmuka yang sudah familiar, saatnya menjalankan container pertama Anda dan mempelajari perintah Docker penting.

Menjalankan container pertama Anda

Mari deploy server web Nginx untuk memahami image dan container. Jalankan perintah ini:

docker run -d -p 80:80 nginx

Berikut yang terjadi: docker run membuat dan memulai container baru. Flag -d menjalankannya dalam mode terpisah (latar belakang). -p 80:80 memetakan port 80 pada host ke port 80 di container. nginx adalah nama image Docker.

Anggap image Docker seperti resep. Resep Nginx dalam hal ini. Container yang berjalan adalah kue yang Anda panggang dari resep itu. Anda dapat membuat beberapa kue (container) dari satu resep (image).

Untuk mengelola container Anda:

docker ps              # Tampilkan container yang berjalan
docker stop <id>       # Hentikan container
docker rm <id>         # Hapus container yang sudah dihentikan

Anda hanya perlu beberapa karakter pertama dari ID container. Docker akan memahami yang Anda maksud.

Penerusan port di Play with Docker

Penerusan port di PWD berbeda dengan penerusan port lokal. Saat Anda mengekspos port, PWD otomatis membuat URL dinamis untuk akses.

Setelah menjalankan container Nginx, lihat bagian atas layar PWD Anda di bawah IP. Klik "Open Port” dan tambahkan “80”. Ini akan membuka tab peramban baru dengan URL unik seperti http://ip<numbers>-<session-id>.direct.labs.play-with-docker.com.

Penerusan Port di Play with Docker

Penerusan Port di Play with Docker

Di sini Anda tidak mengakses localhost. PWD membuat URL khusus yang merutekan trafik internet ke container spesifik Anda. Ini berarti Anda dapat membagikan URL ini dengan kolega untuk menunjukkan pekerjaan Anda secara real-time.

Debugging dan inspeksi

Jika sesuatu tidak berjalan seperti yang diharapkan, Anda memerlukan alat untuk menyelidiki apa yang terjadi di dalam container.

Saat troubleshooting, perintah ini membantu Anda mengintip ke dalam container:

docker logs <container-id>         # Lihat keluaran container
docker ps                          # Tampilkan status container yang berjalan  
docker inspect <container-id>      # Dapatkan konfigurasi JSON terperinci

Jalankan docker logs setelah mengeklik tautan port 80, dan Anda akan melihat permintaan peramban Anda di access log Nginx. Umpan balik real-time ini membantu Anda memahami alur permintaan melalui aplikasi Anda.

Log Docker di Play with Docker

Log Docker di Play with Docker

Dengan menguasai operasi inti ini, Anda siap melangkah dari sekadar menjalankan image siap pakai ke membuat container kustom Anda sendiri.

Membangun Image dan Mengelola Data di Play With Docker

Sekarang kita telah membahas operasi container dasar, mari masuk ke pembuatan image kustom Anda sendiri. Di sinilah kekuatan sejati Docker muncul. Kemampuan untuk mengemas aplikasi Anda beserta semua dependensinya ke dalam image yang portabel dan dapat direproduksi.

Dockerfile mengotomatiskan pembuatan image melalui instruksi berbasis teks. Alih-alih mengonfigurasi container secara manual setiap kali, Anda menulis Dockerfile sekali, dan Docker yang menangani sisanya. 

Buat Dockerfile di Play with Docker

Buat Dockerfile di Play with Docker

Pertama, buat Dockerfile di terminal:

touch Dockerfile

Lalu klik tombol "Editor" di PWD dan tambahkan image sederhana:

FROM alpine
CMD ["echo", "Hello DataCamp"]

Terakhir, bangun dan jalankan Dockerfile. Flag -t memberi nama (atau "tag") pada image Anda, memudahkan referensi. Tanda . memberi tahu Docker untuk menggunakan direktori saat ini sebagai konteks build, lokasi tempat Docker menemukan Dockerfile dan file yang dibutuhkan. Anda akan melihat Docker mengeksekusi tiap instruksi dan menampilkan ID layer.

docker build -t my-first-image .
docker run my-first-image

Bangun image Docker di Play with Docker

Bangun image Docker di Play with Docker

Anda akan melihat "Hello DataCamp" tercetak. Selamat!. Anda telah membangun image kustom pertama Anda! Contoh sederhana ini menunjukkan alur kerja inti: tulis instruksi, bangun image, jalankan container.

Namun ada tantangan penting yang perlu kita tangani: apa yang terjadi pada data Anda saat container berhenti atau dihapus?

Persistensi data di Play with Docker

Memahami persistensi data adalah hal mendasar untuk bekerja efektif dengan container. Secara default, container bersifat ephemeral: saat Anda menghapus container, setiap modifikasi file, setiap catatan basis data, setiap entri log lenyap seketika. 

Ini mungkin tampak bermasalah, tetapi sebenarnya ini adalah salah satu fitur utama Docker. Container yang ephemeral mudah diganti, diskalakan, dan di-debug karena bersifat sekali pakai.

Lalu bagaimana dengan data yang perlu Anda simpan? Di sinilah volume Docker berperan. Volume adalah area penyimpanan yang dikelola Docker dan berada di luar filesystem container. Anggap saja seperti flash drive yang dapat Anda colokkan ke berbagai container. Data tetap berada di drive meskipun Anda mencabutnya dari satu container dan mencolokkannya ke container lain.

Container Docker vs. Volume Docker

Container Docker vs. Volume Docker

Mari saya tunjukkan cara kerjanya dalam praktik. Buat dan gunakan volume:

docker volume create mydata
docker run -it -v mydata:/data alpine sh

Flag -v mydata:/data me-mount volume mydata pada path /data di dalam container. Semua yang ditulis ke /data sebenarnya disimpan di volume. Buat file uji:

echo "This data persists!" > /data/important.txt
echo "Container ID: $(hostname)" >> /data/important.txt
exit

Container telah berhenti dan hilang. Sekarang mulai container yang benar-benar baru dengan volume yang sama:

docker run -it -v mydata:/data alpine sh
cat /data/important.txt

Persistensi Data menggunakan Volume Docker

Persistensi Data menggunakan Volume Docker

File itu masih ada, lengkap dengan ID container lama! Data bertahan karena disimpan di volume, bukan di filesystem sementara container. Anda dapat memasang volume yang sama ini ke sebanyak mungkin container yang Anda butuhkan, dan semuanya akan melihat data yang sama.

Namun, dan ini krusial bagi pengguna PWD, bahkan volume pun akan dihapus saat sesi dua jam Anda berakhir. Volume bertahan di dalam satu sesi tetapi tidak lintas sesi. 

Memahami persistensi data itu penting, tetapi sebagian besar aplikasi nyata melibatkan beberapa layanan yang saling terhubung. Di sinilah Docker Compose menjadi esensial.

Orkestrasi Container Dengan Docker Compose

Setelah menguasai container individual, saatnya menangani aplikasi dunia nyata, yang jarang terdiri dari satu layanan saja. Aplikasi modern biasanya mencakup beberapa komponen: frontend web, backend API, database, cache, dan mungkin message queue. Mengelola semua bagian ini dengan perintah docker run terpisah menjadi mimpi buruk koordinasi.

Mengapa menggunakan Docker Compose?

Bayangkan skenario ini: Anda mendistribusikan aplikasi yang membutuhkan server web, basis data PostgreSQL, dan cache Redis. 

Tanpa Compose, Anda memerlukan tiga perintah docker run terpisah, masing-masing dengan banyak flag untuk jaringan, pemetaan port, pemasangan volume, dan variabel lingkungan. Anda harus mengingat urutan yang tepat untuk memulainya (database dulu, lalu cache, kemudian server web), dan jika sesuatu salah, debugging menjadi perburuan di banyak jendela terminal.

Docker Compose menyelesaikan tantangan orkestrasi ini secara elegan. Alih-alih menyeimbangkan banyak perintah, Anda mendefinisikan seluruh aplikasi multi-container dalam satu file YAML bernama docker-compose.yml. File ini menjadi satu-satunya sumber kebenaran untuk arsitektur aplikasi Anda, menggambarkan semua layanan, konfigurasinya, cara mereka terhubung, dan volume yang mereka gunakan.

Dengan Compose, deployment seluruh tumpukan menjadi satu perintah: docker-compose up. Menghentikannya sama sederhananya: docker-compose down. Pendekatan deklaratif ini membuat infrastruktur dapat direproduksi. Siapa pun dapat mengkloning repositori Anda dan menjalankan seluruh tumpukan aplikasi dengan satu perintah, terlepas dari sistem operasi atau konfigurasi lokal mereka.

Struktur file Docker Compose

Mari buat file Docker Compose dasar.

Pertama, buat file di terminal dengan touch docker-compose.yml, lalu klik "Editor" di PWD dan tambahkan berikut ini ke file:

services:
  web:
    image: nginx
    ports:
      - "80:80"
  redis:
    image: redis

Bagian services mendefinisikan tiap container. Nama layanan (seperti web dan redis) menjadi hostname di jaringan Docker. Kunci image menentukan image Docker Hub yang akan digunakan. Deploy:

docker-compose up -d

Dengan kedua container kini berjalan, Anda mungkin bertanya-tanya: bagaimana mereka saling menemukan dan berkomunikasi?

Jaringan dan penemuan layanan

Compose secara otomatis membuat jaringan yang menghubungkan semua layanan, memungkinkan penemuan layanan. Container berkomunikasi menggunakan nama layanan sebagai hostname.

Uji ini dengan masuk ke container web dan melakukan ping ke Redis:

docker-compose exec web sh
apt-get update && apt-get install -y iputils-ping
ping redis

Ping yang berhasil membuktikan container dapat berkomunikasi! Container web menjangkau redis tanpa mengetahui alamat IP-nya. DNS internal Docker secara otomatis menyelesaikan nama layanan ke alamat container yang benar.

Troubleshooting dan Praktik Terbaik di Play With Docker

Saat Anda semakin sering bekerja dengan PWD, Anda akan menemui tantangan umum. Berikut cara menanganinya secara efektif.

“Session expired”

Batas dua jam adalah kendala terbesar PWD. Saat pengatur waktu mencapai nol, semuanya hilang, termasuk instance dan data. Bekerjalah secara efisien dengan menyiapkan kode secara lokal sebelum menempelkannya ke PWD, serta menjaga cadangan. Dorong image kustom ke Docker Hub sebelum sesi berakhir:

docker tag my-first-image yourusername/my-first-image
docker push yourusername/my-first-image

Fokus pada satu konsep per sesi daripada membangun sistem yang kompleks. Batas dua jam cukup lapang untuk belajar, jadi pecah pekerjaan menjadi bagian-bagian terpisah.

Error port 80/443

Tidak seperti Docker lokal, di mana Anda mengakses container melalui localhost, PWD menggunakan URL dinamis. Jangan mencoba localhost:80. Sebagai gantinya, klik lencana port di bagian atas antarmuka PWD. Jika lencana tidak langsung muncul, tunggu beberapa detik atau segarkan peramban Anda.

Praktik terbaik

Selain itu, ingat praktik terbaik berikut:

  • Gunakan image dasar kecil seperti Alpine (5 MB vs Ubuntu 100+ MB) untuk menghemat bandwidth
  • Jangan jalankan container sebagai root kecuali diperlukan
  • Jangan pernah menggunakan kredensial nyata di PWD, karena ini platform publik
  • Tulis Dockerfile yang jelas dengan komentar yang menjelaskan pilihan Anda
  • Jaga image tetap fokus pada satu tanggung jawab.

Kesimpulan

Anda telah menempuh banyak hal dalam tutorial ini. Anda mempelajari apa itu Play with Docker, kapan menggunakannya dibanding Docker Desktop, menjalankan container pertama, memahami penerusan port, dan menggunakan perintah debugging. Kita membangun image kustom dengan Dockerfile, mengeksplorasi persistensi data dengan volume, dan mengorkestrasi aplikasi multi-container dengan Docker Compose.

Play with Docker menyediakan lingkungan bebas risiko untuk mempelajari dasar-dasar Docker tanpa komitmen instalasi lokal. Keterampilan yang Anda praktikkan: menulis Dockerfile, mengelola container, dan mengonfigurasi jaringan, langsung dapat diterapkan pada penggunaan Docker di dunia nyata.

Sekarang setelah Anda memahami dasar-dasar ini, pasang Docker Desktop secara lokal. Meskipun PWD sangat baik untuk belajar dan uji cepat, pengembangan yang serius memerlukan persistensi, kinerja, dan integrasi tooling yang hanya diberikan oleh instalasi lokal. Semua yang Anda pelajari di PWD berlaku langsung untuk Docker Desktop: perintahnya identik, dan konsepnya sama.

Lanjutkan membangun di atas fondasi ini. Bereksperimenlah dengan image dasar yang berbeda, jelajahi kemampuan jaringan Docker, dan latih menulis Dockerfile siap produksi. Terus belajar, bereksperimen, dan membangun. 

Containerization and Virtualization with Docker and Kubernetes kami menyediakan fondasi yang sangat baik untuk bekerja dengan container. Untuk terus belajar, saya juga merekomendasikan sumber berikut:

Play with Docker FAQ

Apakah saya perlu menginstal Docker untuk menggunakan Play with Docker?

Tidak perlu instalasi! Play with Docker berjalan sepenuhnya di peramban web Anda. Anda hanya memerlukan akun Docker Hub gratis untuk masuk. PWD menyediakan lingkungan Alpine Linux lengkap dengan Docker pra-instal, dapat diakses dari perangkat apa pun yang memiliki akses internet.

Berapa lama durasi sesi Play with Docker?

Setiap sesi Play with Docker berlangsung tepat 2 jam sebelum semuanya otomatis dihapus. Anda dapat membuat hingga 5 instance per sesi. Untuk mempertahankan image kustom melampaui sesi, dorong ke Docker Hub sebelum waktu habis.

Bisakah saya mengakses aplikasi terkontainer saya dari luar Play with Docker?

Ya! Saat Anda mengekspos port, Play with Docker secara otomatis menghasilkan URL unik untuknya. Klik tombol "OPEN PORT" untuk mengakses aplikasi Anda. Anda dapat membagikan URL ini dengan rekan untuk kolaborasi real-time.

Apa perbedaan antara Play with Docker dan Docker Desktop?

Play with Docker berbasis peramban, gratis, tidak memerlukan instalasi, sehingga sempurna untuk belajar atau uji cepat, tetapi sesi hanya berlangsung 2 jam. Docker Desktop berjalan secara lokal di mesin Anda dan menyediakan penyimpanan persisten, kinerja lebih baik, serta integrasi IDE, menjadikannya ideal untuk pekerjaan pengembangan harian dan proyek jangka panjang.

Bisakah saya menggunakan Docker Compose di Play with Docker?

Tentu! Docker Compose sudah pra-instal di PWD. Anda dapat membuat file docker-compose.yml menggunakan editor bawaan dan menjalankan aplikasi multi-container dengan docker-compose up. PWD secara otomatis menangani jaringan antar layanan, sehingga sangat cocok untuk menguji arsitektur microservices atau mempelajari orkestrasi container.

Benito Martin

Penulis

Benito Martin

Sebagai Founder Martin Data Solutions serta Data Scientist, ML, dan AI Engineer lepas, saya memiliki portofolio beragam dalam Regression, Classification, NLP, LLM, RAG, Neural Networks, Ensemble Methods, dan Computer Vision.

  • Berhasil mengembangkan sejumlah proyek ML end-to-end, termasuk pembersihan data, analitik, pemodelan, dan deployment di AWS dan GCP, menghadirkan solusi yang berdampak dan dapat diskalakan.
  • Membangun aplikasi web yang interaktif dan skalabel menggunakan Streamlit dan Gradio untuk berbagai use case industri.
  • Mengajar dan membimbing mahasiswa dalam data science dan analitik, mendorong perkembangan profesional mereka melalui pendekatan pembelajaran yang dipersonalisasi.
  • Merancang konten kursus untuk aplikasi retrieval-augmented generation (RAG) yang disesuaikan dengan kebutuhan enterprise.
  • Menulis blog teknis AI & ML berdampak tinggi, mencakup topik seperti MLOps, vector database, dan LLM, dengan capaian keterlibatan yang signifikan.

Dalam setiap proyek yang saya tangani, saya memastikan menerapkan praktik terkini dalam rekayasa perangkat lunak dan DevOps, seperti CI/CD, code linting, formatting, pemantauan model, pelacakan eksperimen, dan penanganan error yang tangguh. Saya berkomitmen menyajikan solusi menyeluruh, mengubah wawasan data menjadi strategi praktis yang membantu bisnis bertumbuh dan memaksimalkan pemanfaatan data science, machine learning, dan AI.

Topik

Terkait

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026