forked from huge-dream/django-vue3-admin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
118 lines (109 loc) · 3.03 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
version: "3"
services:
dvadmin3-web:
container_name: dvadmin3-web
ports:
- "8080:8080"
build:
context: ./
dockerfile: ./docker_env/web/Dockerfile
environment:
TZ: Asia/Shanghai
volumes:
- ./docker_env/nginx/my.conf:/etc/nginx/conf.d/my.conf
- ./backend/media:/backend/media
expose:
- "8080"
restart: always
networks:
network:
ipv4_address: 177.10.0.11
dvadmin3-django:
build:
context: .
dockerfile: ./docker_env/django/Dockerfile
container_name: dvadmin3-django
working_dir: /backend
depends_on:
- dvadmin3-mysql
environment:
PYTHONUNBUFFERED: 1
DATABASE_HOST: dvadmin3-mysql
TZ: Asia/Shanghai
volumes:
- ./backend:/backend
- ./logs/log:/var/log
ports:
- "8000:8000"
expose:
- "8000"
restart: always
networks:
network:
ipv4_address: 177.10.0.12
dvadmin3-mysql:
image: mysql:8.0
container_name: dvadmin3-mysql
privileged: true
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: "django-vue3-admin"
TZ: Asia/Shanghai
command:
--wait_timeout=31536000
--interactive_timeout=31536000
--max_connections=1000
--default-authentication-plugin=mysql_native_password
volumes:
- "./docker_env/mysql/data:/var/lib/mysql"
- "./docker_env/mysql/conf.d:/etc/mysql/conf.d"
- "./docker_env/mysql/logs:/logs"
networks:
network:
ipv4_address: 177.10.0.13
dvadmin3-celery:
build:
context: .
dockerfile: ./docker_env/celery/Dockerfile
container_name: dvadmin3-celery
working_dir: /backend
depends_on:
- dvadmin3-mysql
environment:
PYTHONUNBUFFERED: 1
DATABASE_HOST: dvadmin3-mysql
TZ: Asia/Shanghai
volumes:
- ./backend:/backend
- ./logs/log:/var/log
restart: always
networks:
network:
ipv4_address: 177.10.0.14
dvadmin3-redis:
image: redis:6.2.6-alpine # 指定服务镜像,最好是与之前下载的redis配置文件保持一致
container_name: dvadmin3-redis # 容器名称
restart: always
environment:
- TZ=Asia/Shanghai # 设置时区
volumes: # 配置数据卷
- ./docker_env/redis/data:/data
- ./docker_env/redis/redis.conf:/etc/redis/redis.conf
ports: # 映射端口
- "6379:6379"
sysctls: # 设置容器中的内核参数
- net.core.somaxconn=1024
command: /bin/sh -c "echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf && redis-server /etc/redis/redis.conf --appendonly yes --requirepass ${REDIS_PASSWORD}" # 指定配置文件并开启持久化
privileged: true # 使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限
networks:
network:
ipv4_address: 177.10.0.15
networks:
network:
ipam:
driver: default
config:
- subnet: '177.10.0.0/16'