2 years ago

#73314

test-img

Djangodev

I am having a port mapping issue in django while using docker

Here is my code. I am developing a Django website along with docker here are my codes: docker-compose for development, I am using two services here for charity-app and db, docker-compose.yml

version: '3.9'
services:
  charity:
    build:
      context: .
    command: >
      sh -c  "python manage.py wait_for_db &&
              python manage.py migrate &&
              python manage.py runserver 0.0.0.0:8000"
    ports:
      - 8000:8000
    volumes: 
      - ./charity:/charity
      - ./data/web:/vol/web
    environment:
      - SECRET_KEY=devsecretkey
      - DEBUG=1
      - DB_HOST=db
      - DB_NAME=devdb
      - DB_USER=devuser
      - DB_PASS=changeme
 
    depends_on:
      - db

  db:
    image: postgres:13-alpine
    environment:
      - POSTGRES_DB=devdb
      - POSTGRES_USER=devuser
      - POSTGRES_PASSWORD=changeme


Here is my code for production deployment docker-compose-deploy.yml

version: "3.9"

services:
  charity:
    build:
      context: .
    restart: always
    volumes:
      - static-data:/vol/web
    environment:
      - DB_HOST=db
      - DB_NAME=${DB_NAME}
      - DB_USER=${DB_USER}
      - DB_PASS=${DB_PASS}
      - SECRET_KEY=${SECRET_KEY}
      - ALLOWED_HOSTS=${ALLOWED_HOSTS}
    depends_on:
      - db

  db:
    image: postgres:13-alpine
    restart: always
    volumes:
      - postgres-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=${DB_NAME}
      - POSTGRES_USER=${DB_USER}
      - POSTGRES_PASSWORD=${DB_PASS}

  proxy:
    build:
      context: ./proxy
    restart: always
    depends_on:
      - charity
    ports:
      - 80:8000
    volumes:
      - static-data:/vol/static

volumes:
  postgres-data:
  static-data:

Here is my .env file

DB_NAME=dbname
DB_USER=rootuser
DB_PASS=changeme
SECRET_KEY=changeme
ALLOWED_HOSTS=127.0.0.1

Here is my view

from django.http import HttpResponse


def homePageView(request):
    return HttpResponse("Hello, World!")

Here is my urls.py for app named as core in django charity project

from django.urls import path
from core.views import homePageView
from . import views

urlpatterns = [
    path('home/', views.homePageView)
]

Here are my main urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('/', include('core.urls'))
]

Here is my command that I am running, I have successfully created the build


docker-compose -f docker-compose-deploy.yml up

here is local host that I am using

http://127.0.0.1/home

**I am getting this error **

Not Found: The requested resource was not found on this server.

Where this url http://127.0.0.1/admin is working fine I don't understand where I am wrong

django

docker-compose

dockerfile

django-urls

web-deployment-project

0 Answers

Your Answer

Accepted video resources