Cara Deploy Python Web App di VPS Menggunakan Docker

Metode Deploy Python Web App dengan Docker

Deploy aplikasi Python ke VPS paling efektif dilakukan dengan mengisolasi lingkungan menggunakan Docker. Dengan Docker, dependensi aplikasi Anda tidak akan bentrok dengan sistem operasi VPS, sehingga proses migrasi dan skalabilitas menjadi jauh lebih mudah.

Langkah-langkah Dasar Containerization

Untuk memulai, Anda memerlukan file Dockerfile di direktori root proyek Anda. File ini berisi instruksi untuk membangun image aplikasi. Berikut adalah contoh struktur dasar:

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py"]

Perintah Utama Docker untuk VPS

Setelah Docker terinstal di VPS, gunakan perintah berikut untuk mengelola container Anda secara efisien:

PerintahFungsi
docker build -t nama-app .Membangun image dari Dockerfile
docker run -d -p 80:80 nama-appMenjalankan container di background
docker psMelihat daftar container yang aktif
docker stop [id]Menghentikan container yang berjalan
docker rm [id]Menghapus container

Tips Troubleshooting Lapangan

  • Port Conflict: Pastikan port yang digunakan aplikasi (misal 80 atau 5000) tidak sedang digunakan oleh layanan lain seperti Nginx atau Apache di VPS.
  • Environment Variables: Jangan pernah menyimpan kredensial database di dalam Dockerfile. Gunakan file .env dan masukkan saat menjalankan perintah docker run --env-file .env.
  • Log Monitoring: Gunakan perintah docker logs [container_id] untuk melacak error saat aplikasi gagal berjalan di dalam container.

Dengan menggunakan Docker, Anda memastikan bahwa lingkungan pengembangan (development) identik dengan lingkungan produksi (production), yang secara drastis mengurangi risiko error saat aplikasi diakses publik.