django-vue-admin/docker-compose.yml

130 lines
3.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# start django command
# local domain
# saas-local.anthembj.com
# ceshi-local.anthembj.com
# docker-compose run --entrypoint '/backend/docker_start.sh' -p 8000:8000 docker_django
version: "3"
services:
dvadmin-redis:
image: redis:latest
container_name: dvadmin-redis
ports:
- "6380:6379"
expose:
- "6379"
volumes:
- ./docker_env/redis/data:/data
- ./docker_env/redis/redis.conf:/etc/redis/redis.conf
command: redis-server /etc/redis/redis.conf
networks:
- dvadmin_net
dvadmin-mysql:
image: mysql:5.7
container_name: dvadmin-mysql
#使用该参数container内的root拥有真正的root权限否则container内的root只是外部的一个普通用户权限
#设置为true不然数据卷可能挂载不了启动不起
privileged: true
restart: always
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: "q1w2e3r4T%Y^U&MYSQL"
MYSQL_DATABASE: "django-vue-admin"
TZ: Asia/Shanghai
command:
--wait_timeout=31536000
--interactive_timeout=31536000
--max_connections=1000
--default-authentication-plugin=mysql_native_password
volumes:
#映射mysql的数据目录到宿主机保存数据
- "./docker_env/mysql/data:/var/lib/mysql"
#根据宿主机下的配置文件创建容器
- "./docker_env/mysql/conf.d:/etc/mysql/conf.d"
- "./docker_env/mysql/logs:/logs"
networks:
- dvadmin_net
dvadmin-django:
build:
context: .
dockerfile: ./docker_env/django/Dockerfile
# image: django:2.2
container_name: dvadmin-django
working_dir: /dvadmin-backend
# command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py collectstatic --noinput && python manage.py runserver"
# command: bash
depends_on:
- dvadmin-mysql
- dvadmin-redis
environment:
- REDIS_HOST=dvadmin-redis
- DATABASE_HOST=dvadmin-mysql
volumes:
- ./dvadmin-backend:/dvadmin-backend
- ./logs/log:/var/log
ports:
- "8000:8000"
expose:
- "8000"
restart: always
networks:
- dvadmin_net
# docker-celery:
# build:
# context: .
# dockerfile: ./docker_env/celery/Dockerfile
# # image: celery:1.0
# container_name: docker-celery
# working_dir: /dvadmin-backend
# # command: bash
# depends_on:
# - dvadmin-mysql
# - dvadmin-redis
# - dvadmin-django
# volumes:
# - ./dvadmin-backend:/dvadmin-backend
# - ./logs/log:/var/log
# ports:
# - "5672:5672"
# expose:
# - "5672"
# restart: always
# networks:
# - dvadmin_net
dvadmin-nginx:
image: nginx:latest
container_name: dvadmin-nginx
# build: ./docker_env/nginx
restart: always
ports:
- "80:80"
- "443:443"
expose:
- "80"
- "443"
volumes:
- ./docker_env/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker_env/nginx/sites-enabled:/etc/nginx/sites-enabled
- ./docker_env/nginx/keys:/nginx/keys
- ./dvadmin-backend:/dvadmin-backend
- ./dvadmin-doc:/dvadmin-doc
- ./dvadmin-ui:/dvadmin-ui
- ./logs/nginx:/var/log/nginx
depends_on:
- dvadmin-django
networks:
- dvadmin_net
networks:
dvadmin_net:
driver: bridge