Sign inSign up

xavirambla79/docker-django

By xavirambla79

•Updated over 1 year ago

Python Docker Image for the Django base project.

Image
Developer tools
0

1.3K

xavirambla79/docker-django repository overview

⁠Docker Django Images

These containers are a quick way to run or try Django. The source is available on GitHub⁠. For building docker-django or extensions for docker-django, please see the docker-django Build Dockerfiles.

⁠Running Containers

$ docker run -it --rm xavirambla79/docker-django bash

⁠How to use this image

Place this file in the same directory as your directory of content , then run these commands to build and start your container:

$ docker build -t xavirambla79/docker-django .
$ docker run --name some-django -d some-content-django

⁠Using environment variables in docker-django configuration

Here is an example using docker-compose.yml:

services:
  web:
    image: xavirambla79/docker-django:1.0.3    
    container_name: django_app
    volumes:
      - .:/app
    ports:
      - "${APPLICATION_PORT}:8000"
    depends_on:
      - db
    networks:
      - django_network      

    environment:
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
      MYSQL_HOST: ${MYSQL_DATABASE}
      MYSQL_PORT: 3306   
      DJANGO_SETTINGS_MODULE: ${DJANGO_SETTINGS_MODULE}
      DJANGO_SECRET_KEY: ${DJANGO_SECRET_KEY}
      DJANGO_SUPERUSER_USERNAME: ${DJANGO_SUPERUSER_USERNAME}
      DJANGO_SUPERUSER_EMAIL: ${DJANGO_SUPERUSER_EMAIL} 
      DJANGO_SUPERUSER_PASSWORD: ${DJANGO_SUPERUSER_PASSWORD}

Here is an example using .env:

MYSQL_ROOT_PASSWORD=rootpassword1
MYSQL_DATABASE=mydatabase1
MYSQL_USER=myuser
MYSQL_PASSWORD=mypassword
APPLICATION_PORT=8000
PHPMYADMIN_PORT=8080

#django admin
DJANGO_SUPERUSER_USERNAME=root
DJANGO_SUPERUSER_PASSWORD=xxxxxxxx
[email protected]
DJANGO_SETTINGS_MODULE=config.settings
DJANGO_SECRET_KEY=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890

⁠Example with database

Here is an example using docker-compose.yml:

#version: '3'
services:
  web:
    image: xavirambla79/docker-django:1.0.3    
    container_name: django_app
    volumes:
      - .:/app
    ports:
      - "${APPLICATION_PORT}:8000"
    depends_on:
      - db
    networks:
      - django_network      

    environment:
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
      MYSQL_HOST: ${MYSQL_DATABASE}
      MYSQL_PORT: 3306   
      DJANGO_SETTINGS_MODULE: ${DJANGO_SETTINGS_MODULE}
      DJANGO_SECRET_KEY: ${DJANGO_SECRET_KEY}
      DJANGO_SUPERUSER_USERNAME: ${DJANGO_SUPERUSER_USERNAME}
      DJANGO_SUPERUSER_EMAIL: ${DJANGO_SUPERUSER_EMAIL} 
      DJANGO_SUPERUSER_PASSWORD: ${DJANGO_SUPERUSER_PASSWORD}

  db:
    image: mariadb:10.6
    container_name: ${MYSQL_DATABASE}
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - django_network      
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    environment:
      PMA_HOST: db  # Nombre del servicio de la base de datos
      PMA_PORT: 3306
      PMA_ARBITRARY: 0
    ports:
      - "${PHPMYADMIN_PORT}:80"
    depends_on:
      - db
    networks:
      - django_network

volumes:
  db_data:  

networks:
  django_network:
    driver: bridge

Tag summary

Content type

Image

Digest

sha256:4fb58b8e4…

Size

178.1 MB

Last updated

over 1 year ago

docker pull xavirambla79/docker-django