Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

How to Deploy a Django App with Docker & DockerHub on a Virtual Machine (AWS EC2) (2025)

Автор: ProgrammingKnowledge

Загружено: 2025-02-17

Просмотров: 1380

Описание:

🚀 *Deploy your Django app with Docker & DockerHub on AWS EC2!* This step-by-step guide will teach you how to *containerize your Django app**, push it to **DockerHub**, and deploy it on an **AWS EC2 Virtual Machine**. By the end of this tutorial, you'll have a fully functional Django app running on a cloud server with **Nginx & Gunicorn* for production.

---

*🔹 What You'll Learn in This Video:*
✅ How to *Dockerize a Django App*
✅ How to *Push a Docker Image to DockerHub*
✅ How to *Set Up an AWS EC2 Virtual Machine*
✅ How to *Pull and Run the Docker Image on EC2*
✅ How to *Set Up Nginx as a Reverse Proxy*
✅ How to *Run Django in Production with Gunicorn*

---

*🔹 Prerequisites:*
✔️ *Basic Knowledge of Django & Docker*
✔️ *AWS Account* ([Sign Up Here](https://aws.amazon.com/free/))
✔️ *GitHub Repository with Django Code*
✔️ *Docker Installed Locally* ([Get Docker](https://www.docker.com/get-started))

---

*🔹 Step 1: Create a Dockerfile for Django*
Inside your Django project folder, create a file named **`Dockerfile`**:

```dockerfile
Use an official Python runtime as a base image
FROM python:3.9

Set the working directory
WORKDIR /app

Copy the project files
COPY . /app/

Install dependencies
RUN pip install --no-cache-dir -r requirements.txt

Expose the application port
EXPOSE 8000

Start the Django application using Gunicorn
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "your_project.wsgi:application"]
```

---

*🔹 Step 2: Create a `docker-compose.yml` (Optional)*
To simplify container management, create **`docker-compose.yml`**:

```yaml
version: '3.8'

services:
web:
build: .
ports:
"8000:8000"
volumes:
.:/app
environment:
DEBUG=False
depends_on:
db

db:
image: postgres:13
environment:
POSTGRES_USER: django
POSTGRES_PASSWORD: django
POSTGRES_DB: django_db
```

---

*🔹 Step 3: Build and Test Your Docker Image Locally*
Run the following command in your Django project directory:

```bash
docker build -t your-django-app .
```

Once the build is complete, test it by running:

```bash
docker run -p 8000:8000 your-django-app
```

✅ Open `http://localhost:8000` to check if the app is running.

---

*🔹 Step 4: Push the Docker Image to DockerHub*
1️⃣ Log in to DockerHub:
```bash
docker login
```
2️⃣ Tag your image:
```bash
docker tag your-django-app your-dockerhub-username/your-django-app:latest
```
3️⃣ Push the image to DockerHub:
```bash
docker push your-dockerhub-username/your-django-app:latest
```
✅ Your image is now stored in DockerHub!

---

*🔹 Step 5: Launch an AWS EC2 Virtual Machine*
1️⃣ *Go to AWS EC2 Console*
2️⃣ Click *Launch Instance*
3️⃣ Choose *Ubuntu 22.04 LTS*
4️⃣ Select *t2.micro (Free Tier)*
5️⃣ Configure **Security Group**:
Allow *SSH (port 22)*
Allow *HTTP (port 80)*
Allow *HTTPS (port 443)*
6️⃣ Click *Launch* and *download the key pair (`.pem` file)*

---

*🔹 Step 6: Connect to AWS EC2 via SSH*
🔹 *For Mac/Linux Users:*
```bash
chmod 400 your-key.pem
ssh -i your-key.pem ubuntu@your-ec2-public-ip
```
🔹 *For Windows Users (Using PuTTY):*
1️⃣ Convert `.pem` to `.ppk` using *PuTTYgen*
2️⃣ Open **PuTTY**, enter **EC2 Public IP**, and load the `.ppk` key
3️⃣ Click *Open* and log in as `ubuntu`

---

*🔹 Step 7: Install Docker on AWS EC2*
Once connected to your EC2 instance, install Docker:

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
```

---

*🔹 Step 8: Pull & Run Your Docker Image on EC2*
1️⃣ Log in to DockerHub:
```bash
docker login
```
2️⃣ Pull your Docker image:
```bash
docker pull your-dockerhub-username/your-django-app:latest
```
3️⃣ Run the container:
```bash
docker run -d -p 8000:8000 your-dockerhub-username/your-django-app
```
✅ Your Django app is now running on *port 8000* on AWS EC2!

---

*🔹 Step 9: Set Up Nginx as a Reverse Proxy*
1️⃣ Install Nginx:
```bash
sudo apt install nginx -y
```
2️⃣ Configure Nginx:
```bash
sudo nano /etc/nginx/sites-available/django
```
3️⃣ Add this configuration:
```
server {
listen 80;
server_name your-ec2-public-ip your-domain.com;

location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
4️⃣ Enable the configuration and restart Nginx:
```bash
sudo ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled
sudo systemctl restart nginx
```
✅ Your Django app is now **accessible via HTTP on EC2**!



---

*🔹 Hashtags:*
#Django #Docker #DockerHub #AWS #EC2 #Nginx #Gunicorn #DjangoDeployment #DevOps #CloudComputing #AWSDeployment

How to Deploy a Django App with Docker & DockerHub on a Virtual Machine (AWS EC2) (2025)

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Dokploy - простой деплой ваших проектов | Docker, Docker Swarm, DevOps

Dokploy - простой деплой ваших проектов | Docker, Docker Swarm, DevOps

Kubernetes — Простым Языком на Понятном Примере

Kubernetes — Простым Языком на Понятном Примере

MinIO УМЕР. Великая Миграция началась. Что делать DevOps?

MinIO УМЕР. Великая Миграция началась. Что делать DevOps?

Тест-драйв электрокара Xiaomi: нам крышка?

Тест-драйв электрокара Xiaomi: нам крышка?

Docker Real World Projects| Day-5 | Devops | Docker

Docker Real World Projects| Day-5 | Devops | Docker

LLM и GPT - как работают большие языковые модели? Визуальное введение в трансформеры

LLM и GPT - как работают большие языковые модели? Визуальное введение в трансформеры

Deploy Dockerized Django app on AWS EC2 with GitHub Actions CI/CD | PostgreSQL, Elasticsearch Celery

Deploy Dockerized Django app on AWS EC2 with GitHub Actions CI/CD | PostgreSQL, Elasticsearch Celery

Docker за 20 минут

Docker за 20 минут

Dockerise & deploy a Django app with Docker  - Full guide | Django projects | #4

Dockerise & deploy a Django app with Docker - Full guide | Django projects | #4

Deep House Mix 2024 | Deep House, Vocal House, Nu Disco, Chillout Mix by Diamond #3

Deep House Mix 2024 | Deep House, Vocal House, Nu Disco, Chillout Mix by Diamond #3

How To Use Git In VS Code Like A Pro!

How To Use Git In VS Code Like A Pro!

UAS_5A_234311007_AryaYudha

UAS_5A_234311007_AryaYudha

4 Hours Chopin for Studying, Concentration & Relaxation

4 Hours Chopin for Studying, Concentration & Relaxation

NGINX | КАК ПЕТ-ПРОЕКТ ЗАХВАТИЛ МИР

NGINX | КАК ПЕТ-ПРОЕКТ ЗАХВАТИЛ МИР

Docker - Containerize a Django App

Docker - Containerize a Django App

Deploying AWS Elastic Kubernetes Services (EKS) Using Terraform Modules

Deploying AWS Elastic Kubernetes Services (EKS) Using Terraform Modules

SHAZAM Top 50🏖️Лучшая Музыка 2025🏖️Зарубежные песни Хиты🏖️Популярные Песни Слушать Бесплатно #40

SHAZAM Top 50🏖️Лучшая Музыка 2025🏖️Зарубежные песни Хиты🏖️Популярные Песни Слушать Бесплатно #40

Deploying Django with Docker Compose

Deploying Django with Docker Compose

Но что такое нейронная сеть? | Глава 1. Глубокое обучение

Но что такое нейронная сеть? | Глава 1. Глубокое обучение

КАК НЕЛЬЗЯ ХРАНИТЬ ПАРОЛИ (и как нужно) за 11 минут

КАК НЕЛЬЗЯ ХРАНИТЬ ПАРОЛИ (и как нужно) за 11 минут

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]