Skip to content

Instantly share code, notes, and snippets.

@deepanshumehtaa
Last active August 28, 2023 18:55
Show Gist options
  • Select an option

  • Save deepanshumehtaa/ac78f6b4e1b9c92d916a2b0d8635ea95 to your computer and use it in GitHub Desktop.

Select an option

Save deepanshumehtaa/ac78f6b4e1b9c92d916a2b0d8635ea95 to your computer and use it in GitHub Desktop.
docker compose django redis and mysql
# Commands to Run
# docker-compose -f ./docker-compose.prod.yaml build
# docker-compose -f ./docker-compose.prod.yaml up -d
# docker-compose -f ./docker-compose.prod.yaml exec web python manage.py migrate --noinput
# docker-compose -f ./docker-compose.prod.yaml exec web python manage.py createsuperuser
version: "3.9"
services:
# pull and start Django container
web:
container_name: web-dev
command: python3 manage.py runserver 0.0.0.0:8000 # don't add word `localhost`
restart: unless-stopped
build:
context: ..
dockerfile: ../Dockerfile
volumes:
- .:/code
ports:
# OUT:IN
- "8000:8000"
networks:
- my_network
depends_on:
- cache
- mysql
# pull and start redis container
# redis-cli
cache:
container_name: web-cache
image: "redis:alpine"
# server saves 1 or more writes in every 20 seconds to disk in case the server restarts
# --requirepass parameter to add auth with the password to read/write data on the Redis server.
command: redis-server --save 20 1 --loglevel warning --requirepass eYVX7
restart: always
ports:
# - '6379:6379'
- '6380:6380'
volumes:
- redis-data:/data
networks:
- my_network
environment:
- REDIS_PASSWORD=myredispassword
- REDIS_PORT=6379
# pull and start mysql container
mysql:
container_name: mysql
image: mysql:latest
volumes:
- mysql-data:/var/lib/mysql
ports:
# OUT:IN
- "3307:3306"
environment:
# dont use quote
- MYSQL_DATABASE=dummy
- MYSQL_USER=abcxyz
- MYSQL_PASSWORD=abcxyz
- MYSQL_ROOT_PASSWORD=abcxyz
restart: always
networks:
- my_network
# docker network ls
# docker network inspect bridge
networks:
my_network:
driver: bridge
volumes:
mysql-data:
driver: local
external: false
redis-data:
driver: local
external: false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment