install docker di debian dan install server deploy di docker

Install docker di debian dan install aplikasi developer di docker


1. Perbarui Sistem dan Instal Dependensi Awalbashsudo apt update && sudo apt upgrade -y

sudo apt install -y ca-certificates curl gnupg lsb-release

Gunakan kode dengan hati-hati.2. Tambahkan Kunci GPG Resmi Dockerbashsudo mkdir -p /etc/apt/keyrings

curl -fsSL https://docker.com | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Gunakan kode dengan hati-hati.3. Tambahkan Repositori Resmi Dockerbashecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://docker.com $(lsb_release -cs) stable" | sudo tee /etc/apt/专集/docker.list > /dev/null

# Catatan: Jika perintah di atas error karena salah ketik folder, gunakan perintah di bawah ini:

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

Gunakan kode dengan hati-hati.4. Instal Docker Enginebashsudo apt update

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Gunakan kode dengan hati-hati.5. Aktifkan Docker Service (Khusus WSL)Karena WSL tidak menggunakan systemd secara penuh secara default, jalankan Docker secara manual dengan perintah:bashsudo service docker start

Gunakan kode dengan hati-hati.6. Berikan Akses Tanpa Sudo (Opsional tapi Sangat Disarankan)Agar Anda tidak perlu mengetik sudo setiap kali menjalankan perintah Docker, masukkan user Anda ke grup Docker:bashsudo usermod -aG docker $USER

Gunakan kode dengan hati-hati.(Setelah perintah ini, Anda harus keluar dari WSL dengan perintah exit lalu masuk kembali via wsl -d Debian agar efeknya aktif).Bagian 2: Instal Aplikasi Developer PopulerBerikut adalah perintah cepat untuk menginstal perkakas (tools) wajib bagi developer di Debian:1. Instal Git (Version Control)Biasanya sudah terpasang, namun untuk memastikan versi terbaru:bashsudo apt install git -y

Gunakan kode dengan hati-hati.2. Instal Node.js dan NPM (JavaScript Runtime)Cara terbaik adalah menggunakan NodeSource agar mendapatkan versi LTS (Long Term Support) terbaru:bashcurl -fsSL https://nodesource.com | sudo -E bash -

sudo apt install -y nodejs

Gunakan kode dengan hati-hati.3. Instal Build Tools (GCC, G++, Make)Sangat penting jika Anda nanti mengompilasi kode program berbasis C/C++ atau beberapa library Python/Node.js tertentu:bashsudo apt install build-essential -y

Cara Menguji Hasil InstalasiUntuk memastikan semuanya sudah terpasang dengan sempurna, cek versi masing-masing aplikasi:bashdocker --version

node -v

npm -v

git --version

==================================================

Berikut adalah daftar aplikasi server developer yang paling wajib dan sering digunakan, dikelompokkan berdasarkan fungsinya:1. Web Server / Reverse ProxyServer ini berfungsi untuk menerima permintaan (request) dari browser dan menyajikan halaman website Anda.Nginx: Web server modern yang sangat ringan, cepat, dan sering digunakan sebagai pintu gerbang utama (Reverse Proxy) untuk mengarahkan trafik.Perintah instal langsung: sudo apt install nginx -yLewat Docker: docker run -d -p 80:80 nginxApache (httpd): Web server klasik yang sangat stabil dan memiliki dukungan luas, terutama untuk aplikasi berbasis PHP (seperti WordPress).Perintah instal langsung: sudo apt install apache2 -y2. Database Server (Penyimpanan Data)Tempat untuk menyimpan data pengguna, artikel, produk, atau informasi aplikasi lainnya.MySQL / MariaDB: Database relasional (SQL) yang paling populer di dunia untuk aplikasi web standar.Perintah instal langsung: sudo apt install mariadb-server -yLewat Docker: docker run -d --name db-mysql -e MYSQL_ROOT_PASSWORD=rahasia -p 3306:3306 mysqlPostgreSQL: Database SQL tingkat lanjut yang sangat kuat untuk menangani data kompleks dan query yang rumit.Perintah instal langsung: sudo apt install postgresql -yMongoDB: Database NoSQL berbasis dokumen (JSON), sangat cocok jika Anda mengembangkan aplikasi menggunakan Node.js (stack MERN/MEAN).Lewat Docker: docker run -d -p 27017:27017 mongo3. Server Runtime Kompilasi (Backend)Jika Anda membuat aplikasi web yang dinamis, Anda membutuhkan server yang bisa mengeksekusi kode bahasa pemrograman di sisi belakang (backend).PHP-FPM: Dibutuhkan jika Anda mengembangkan web dengan PHP atau framework seperti Laravel.Perintah instal langsung: sudo apt install php-fpm php-mysql -yNode.js / PM2: Jika Anda menggunakan Node.js, aplikasi Anda bertindak sebagai servernya sendiri. Namun, Anda butuh process manager seperti PM2 agar server Node.js tersebut otomatis hidup kembali jika terjadi crash.Perintah instal: sudo npm install pm2 -g4. Cache & Message Broker (Server Akselerasi)Digunakan saat aplikasi Anda sudah mulai kompleks untuk mempercepat performa pembacaan data.Redis: Server penyimpanan di dalam memori RAM yang digunakan untuk membuat website memuat halaman jauh lebih cepat (caching atau manajemen session login).Lewat Docker: docker run -d -p 6379:6379 redis💡 Rekomendasi Alur Belajar TerbaikSebagai langkah awal yang paling mudah dan tidak mengotori Debian Anda, cobalah menyalakan Nginx Web Server menggunakan Docker.Apakah Anda ingin dipandu untuk mencoba menyalakan server Nginx pertama Anda lewat Docker sekarang dan melihat hasilnya langsung di browser Windows Anda?


================================

Mari kita langsung mempraktikkan cara menyalakan Server Web Nginx pertama Anda menggunakan Docker [1]. Kita juga akan menghubungkannya agar bisa diakses langsung dari browser Windows Anda.Ikuti 4 langkah mudah berikut di dalam terminal Debian Anda:1. Pastikan Docker Sudah AktifSebelum menjalankan server, pastikan layanan Docker di WSL Anda sudah menyala [1]:bashsudo service docker start

Gunakan kode dengan hati-hati.2. Jalankan Server Nginx Lewat DockerKetik perintah di bawah ini untuk mengunduh dan menyalakan server Nginx [1]:bashdocker run -d -p 8080:80 --name server-uji-coba nginx

Gunakan kode dengan hati-hati.Artinya perintah ini:-d: Menjalankan server di latar belakang (background), jadi terminal Anda tidak akan terkunci.-p 8080:80: Menyambungkan port 8080 di Windows/WSL ke port 80 di dalam Docker [1].--name server-uji-coba: Memberi nama wadah ini agar mudah dikelola.3. Lihat Hasilnya di Browser WindowsSekarang, buka browser kesayangan Anda di Windows (Chrome, Edge, atau Firefox), lalu ketik alamat berikut di bilah pencarian dan tekan Enter:texthttp://localhost:8080

Gunakan kode dengan hati-hati.Jika berhasil, Anda akan melihat halaman putih dengan tulisan besar: "Welcome to nginx!" 🎉. Ini artinya server web Anda sudah aktif dan bekerja dengan sempurna.4. Cara Mematikan atau Melihat Status ServerJika Anda sudah selesai melakukan uji coba dan ingin membersihkan kembali memori komputer Anda:Melihat server yang sedang berjalan:bashdocker ps

Gunakan kode dengan hati-hati.Menghentikan (mematikan) server sementara:bashdocker stop server-uji-coba

Gunakan kode dengan hati-hati.Menghapus server dari sistem (komputer kembali bersih):bashdocker rm server-uji-coba

==============================

Untuk melangkah dari sekadar bisa menyalakan server menjadi seorang developer yang andal (jago developer), Anda perlu membangun fondasi keahlian di luar sekadar menulis kode.Berikut adalah peta jalan (roadmap) taktis beserta langkah konkret yang bisa langsung Anda latih menggunakan modal Debian WSL dan Docker yang sudah Anda miliki:1. Kuasai Manajemen Git Tingkat Lanjut (Bukan Cuma Push/Pull)Developer andal bekerja dalam tim, dan Git adalah pelindung kode Anda agar tidak berantakan saat digabungkan dengan kode orang lain.Yang harus dipelajari: Pahami cara kerja Branching (membuat cabang fitur), cara mengatasi konflik kode (Merge Conflicts), dan melakukan Stash untuk menyimpan kode sementara.Langkah praktis: Buat akun di GitHub atau GitLab, lalu biasakan setiap membuat eksperimen kecil di Debian, Anda menyimpannya ke sana melalui terminal.2. Pelajari "Docker Compose" (Mengelola Banyak Server Sekaligus)Di dunia nyata, aplikasi tidak berdiri sendiri. Sebuah web membutuhkan Web Server, Database, dan Cache sekaligus. Menyalakannya satu-persatu dengan perintah docker run akan sangat merepotkan.Yang harus dipelajari: Docker Compose. Ini adalah alat untuk mendefinisikan dan menjalankan banyak kontainer Docker hanya dengan satu file konfigurasi berbentuk teks (docker-compose.yml).Langkah praktis: Cobalah membuat proyek kecil di mana server Node.js/Python Anda terhubung ke database PostgreSQL otomatis hanya dengan satu perintah: docker compose up -d.3. Otomatisasi dengan CI/CD (Continuous Integration & Continuous Deployment)Developer modern tidak lagi memindahkan file web ke server secara manual via FTP atau menyalin kode satu-per-satu. Semuanya dilakukan oleh robot otomatis.Yang harus dipelajari: Alur kerja CI/CD menggunakan alat seperti GitHub Actions atau GitLab CI.Prinsip kerjanya: Setiap kali Anda selesai mengetik kode di laptop dan melakukan git push, robot akan otomatis menguji apakah kode Anda ada bug (CI), lalu otomatis mengirimkan kode yang aman tersebut ke server Docker Anda di internet (CD).4. Pahami Dasar-Dasar Keamanan Web (Security)Mengetahui cara membuat fitur saja tidak cukup; aplikasi Anda harus aman dari serangan hacker.Yang harus dipelajari: Pelajari celah keamanan dasar seperti SQL Injection (pencurian database via form input) dan XSS. Pahami juga cara mengamankan server seperti menutup port yang tidak digunakan, serta cara menyembunyikan password aplikasi menggunakan Environment Variables (.env).5. Bangun Satu Proyek Nyata (Bukan Cuma Nonton Tutorial)Cara tercepat untuk jago adalah dengan terjebak dalam masalah nyata dan menyelesaikannya sendiri (hands-on learning).Ide Proyek Pemula: Buatlah sistem REST API sederhana (misalnya sistem manajemen tugas/To-Do List atau e-commerce mini).Tantangannya: Gunakan Node.js/Python sebagai backend, simpan datanya ke MySQL via Docker, buat sistem login penggunanya menggunakan JWT, dan simpan riwayat kodenya di GitHub.


==========================================================

Berikut adalah langkah strategis untuk mengubah keahlian Anda menjadi karier atau penghasilan:1. Bangun Portofolio Publik (Showcase Your Skills)Perusahaan tidak hanya melihat resume, mereka ingin bukti nyata bahwa Anda bisa coding.Rapikan GitHub: Pastikan proyek-proyek terbaik Anda diunggah ke GitHub. Tulis file README.md yang sangat rapi di setiap proyek, jelaskan teknologi apa yang digunakan, cara instalasinya lewat Docker, dan arsitekturnya.Buat Website Portofolio: Buat satu website pribadi sederhana yang berisi profil Anda, keahlian Anda, dan tautan ke proyek-proyek GitHub Anda.2. Publikasikan Proyek ke Internet (Cloud Deployment)Jangan biarkan aplikasi Anda hanya berjalan di localhost komputer Anda. Pindahkan aplikasi Docker Anda ke server internet asli agar bisa diakses oleh orang lain (atau calon HRD).Latihan Deploy: Coba gunakan layanan cloud gratis atau murah seperti Render, Railway, atau Fly.io untuk menjalankan aplikasi container Anda.Tingkat Lanjut: Jika ada modal, beli VPS murah (seperti di DigitalOcean atau penyedia lokal) dan pelajari cara setup Docker serta SSL (HTTPS) sendiri menggunakan Nginx di server tersebut.3. Bangun "Personal Branding" dan Jaringan (Networking)Banyak lowongan kerja developer tidak pernah dipublikasikan di situs pencari kerja, melainkan lewat koneksi.Maksimalkan LinkedIn: Buat profil LinkedIn yang profesional. Tulis bio Anda dengan jelas (misal: Fullstack Developer | Node.js | Docker enthusiast).Bagikan Proses Belajar: Jangan ragu untuk membuat postingan pendek di LinkedIn atau Twitter/X saat Anda berhasil menyelesaikan suatu tantangan coding atau proyek baru. Ini menarik perhatian recruiter.4. Mulai Cari Pengalaman Nyata (Kerja / Magang / Freelance)Jangan menunggu sampai Anda merasa "100% siap" karena dunia developer adalah proses belajar seumur hidup.Magang (Internship) atau Junior Role: Cari posisi lowongan Junior Developer di LinkedIn, Jobstreet, atau Glints. Posisi ini sangat bagus untuk belajar bagaimana budaya kerja tim developer asli.Dunia Freelance: Coba cari proyek-proyek kecil di situs freelance seperti Upwork atau Projects.co.id untuk melatih cara berkomunikasi dengan klien dan menyelesaikan masalah nyata.


==============================

Menghubungkan VS Code (Windows) ke dalam Debian (WSL) adalah trik rahasia yang wajib diketahui developer. Dengan cara ini, Anda bisa mengetik kode dengan nyaman di tampilan Windows, tetapi kodenya langsung tersimpan dan dijalankan di dalam sistem Linux Debian Anda.Ikuti 3 langkah mudah berikut untuk mengaturnya:1. Instal Ekstensi Wajib di VS Code WindowsBuka aplikasi VS Code di Windows Anda.Klik ikon Extensions di menu sebelah kiri (atau tekan Ctrl + Shift + X).Cari ekstensi bernama "WSL" (dibuat resmi oleh Microsoft).Klik tombol Install.2. Hubungkan Melalui Terminal DebianSetelah ekstensi terpasang, sekarang buka terminal Debian Anda (lewat PowerShell ketik wsl -d Debian), lalu ketik perintah berikut:bashcode .

Gunakan kode dengan hati-hati.(Catatan: Perintah di atas artinya "Buka folder saat ini menggunakan VS Code").Apa yang akan terjadi setelahnya?Jika ini pertama kalinya, terminal akan otomatis mengunduh komponen server kecil di latar belakang selama beberapa detik.Setelah selesai, sebuah jendela VS Code baru akan otomatis terbuka di Windows Anda.3. Cara Memastikan Anda Sudah Berada di Dalam LinuxPerhatikan pojok kiri paling bawah pada jendela VS Code yang baru terbuka.Jika Anda melihat kotak kecil berwarna biru/hijau dengan tulisan WSL: Debian, artinya 100% Sukses! 🎉Sekarang, setiap file baru yang Anda buat atau terminal yang Anda buka di dalam VS Code tersebut, semuanya berjalan langsung di dalam sistem Linux Debian.💡 Tips Menjalankan Proyek Python Pertama Anda Lewat VS CodeMari kita tes membuat folder proyek baru lewat VS Code:Di terminal VS Code (buka dengan Ctrl + ~), buat folder baru: mkdir proyek-pertama && cd proyek-pertamaBuat file Python: touch main.pyFile main.py akan muncul di panel kiri VS Code. Klik file tersebut, isi dengan kode Python, lalu jalankan langsung lewat terminal di bawahnya menggunakan perintah python3 main.py.


Postingan populer dari blog ini

Create a root password for PHPMyAdmin

Extensions pada WYSIWYG Web Builder

Tabel Perbandingan Kode Baterai Kancing (Button Battery)