Last active
August 28, 2023 18:55
-
-
Save deepanshumehtaa/ac78f6b4e1b9c92d916a2b0d8635ea95 to your computer and use it in GitHub Desktop.
docker compose django redis and mysql
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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