You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
4.6 KiB
177 lines
4.6 KiB
version: "3.4"
|
|
services:
|
|
|
|
#网站
|
|
website:
|
|
image: nginx:1.18.0
|
|
restart: always
|
|
environment:
|
|
TZ: "Asia/Shanghai"
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
volumes:
|
|
- ./docker/conf/website/nginx.conf:/etc/nginx/nginx.conf
|
|
- ./docker/conf/website/edusoa.pem:/etc/nginx/edusoa.pem
|
|
- ./docker/conf/website/edusoa.key:/etc/nginx/edusoa.key
|
|
- ./docker/log/website:/var/log/nginx
|
|
- ./WebMVC/wwwroot:/root/nginx/html/desktop
|
|
- ./WebSPA/wwwroot:/root/nginx/html/mobile
|
|
|
|
#网关
|
|
gateway:
|
|
image: nginx:1.18.0
|
|
restart: always
|
|
environment:
|
|
TZ: "Asia/Shanghai"
|
|
ports:
|
|
- 8000:80
|
|
volumes:
|
|
- ./docker/conf/gateway/nginx.conf:/etc/nginx/nginx.conf
|
|
- ./docker/log/gateway:/var/log/nginx
|
|
|
|
#文件存储
|
|
minio:
|
|
image: minio/minio:RELEASE.2020-08-08T04-50-06Z
|
|
restart: always
|
|
environment:
|
|
MINIO_ACCESS_KEY: "admin"
|
|
MINIO_SECRET_KEY: "12345678"
|
|
command: server /data
|
|
ports:
|
|
- 9000:9000
|
|
volumes:
|
|
- ./docker/data/minio:/data
|
|
|
|
#关系数据库
|
|
mysql:
|
|
image: mysql:8.0.21
|
|
restart: always
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=aA123456!
|
|
- MYSQL_DATABASE=jobserver
|
|
command: --default-authentication-plugin=mysql_native_password
|
|
ports:
|
|
- 3306:3306
|
|
volumes:
|
|
- ./docker/conf/mysql/my.cnf:/etc/my.cnf
|
|
- ./docker/data/mysql:/var/lib/mysql
|
|
healthcheck:
|
|
test: mysqladmin ping -h localhost -u $$MYSQL_USER --password=$$MYSQL_PASSWORD
|
|
timeout: 10s
|
|
retries: 30
|
|
|
|
#缓存
|
|
redis:
|
|
image: redis:6.0.6
|
|
restart: always
|
|
ports:
|
|
- 6379:6379
|
|
volumes:
|
|
- ./docker/data/redis:/data
|
|
- ./docker/conf/redis/redis.conf:/usr/local/etc/redis/redis.conf
|
|
command: redis-server /usr/local/etc/redis/redis.conf
|
|
|
|
#时序数据库
|
|
influxdb:
|
|
image: influxdb:1.8.1
|
|
restart: always
|
|
environment:
|
|
TZ: "Asia/Shanghai"
|
|
INFLUXDB_ADMIN_ENABLED: "true"
|
|
INFLUXDB_ADMIN_USER: admin
|
|
INFLUXDB_ADMIN_PASSWORD: admin
|
|
ports:
|
|
- 8086:8086
|
|
- 8088:8088
|
|
volumes:
|
|
- ./docker/data/influxdb:/var/lib/influxdb
|
|
|
|
#流媒体服务器
|
|
srs:
|
|
image: ubuntu
|
|
environment:
|
|
TZ: "Asia/Shanghai"
|
|
restart: always
|
|
ports:
|
|
- 1935:1935
|
|
- 8080:8080
|
|
- 1985:1985
|
|
working_dir: /usr/local/srs
|
|
command: bash -c "chmod +x ./objs/srs && ./objs/srs -c ./conf/srs.conf"
|
|
volumes:
|
|
- ./srs:/usr/local/srs
|
|
|
|
#物联网
|
|
iotcenter:
|
|
image: ${DOCKER_REGISTRY-}iotcenter
|
|
build:
|
|
context: .
|
|
dockerfile: IoTCenter/Dockerfile
|
|
depends_on:
|
|
- minio
|
|
- mysql
|
|
- redis
|
|
- influxdb
|
|
- srs
|
|
|
|
#docker管理
|
|
portainer:
|
|
image: portainer/portainer:1.24.1
|
|
restart: always
|
|
ports:
|
|
- 9002:9000
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- ./docker/data/portainer:/data
|
|
|
|
#服务器监控
|
|
netdata:
|
|
image: netdata/netdata:latest-amd64
|
|
hostname: localhost
|
|
ports:
|
|
- 9999:19999
|
|
cap_add:
|
|
- SYS_PTRACE
|
|
security_opt:
|
|
- apparmor:unconfined
|
|
volumes:
|
|
- /proc:/host/proc:ro
|
|
- /sys:/host/sys:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
|
#mysql web 管理
|
|
phpmyadmin:
|
|
image: phpmyadmin/phpmyadmin:latest
|
|
restart: always
|
|
environment:
|
|
- PMA_HOST=mysql
|
|
- PMA_PORT=3306
|
|
ports:
|
|
- 9003:80
|
|
|
|
#redis web 管理
|
|
phpredisadmin:
|
|
image: erikdubbelboer/phpredisadmin
|
|
restart: always
|
|
environment:
|
|
- REDIS_1_HOST=redis
|
|
- REDIS_1_PORT=6379
|
|
- ADMIN_USER=admin
|
|
- ADMIN_PASS=123456
|
|
ports:
|
|
- 9004:80
|
|
|
|
#influxdb web 工具
|
|
influxdb-web:
|
|
image: influxdb:1.2.4
|
|
restart: always
|
|
environment:
|
|
TZ: "Asia/Shanghai"
|
|
INFLUXDB_ADMIN_ENABLED: "true"
|
|
INFLUXDB_ADMIN_USER: admin
|
|
INFLUXDB_ADMIN_PASSWORD: admin
|
|
ports:
|
|
- 8083:8083
|
|
|