65 lines
1.6 KiB
YAML
65 lines
1.6 KiB
YAML
|
version: '3'
|
||
|
|
||
|
services:
|
||
|
mysql:
|
||
|
image: mysql:latest
|
||
|
container_name: nest-admin-mysql
|
||
|
restart: always
|
||
|
env_file:
|
||
|
- .env
|
||
|
- .env.production
|
||
|
environment:
|
||
|
- MYSQL_HOST=${DB_HOST}
|
||
|
- MYSQL_PORT=${DB_PORT}
|
||
|
- MYSQL_DATABASE=${DB_DATABASE}
|
||
|
- MYSQL_USERNAME=${DB_USERNAME}
|
||
|
- MYSQL_PASSWORD=${DB_PASSWORD}
|
||
|
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
|
||
|
ports:
|
||
|
- '${DB_PORT}:3306'
|
||
|
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci #设置utf8字符集
|
||
|
volumes:
|
||
|
- ./__data/mysql/:/var/lib/mysql/ # ./__data/mysql/ 路径可以替换成自己的路径
|
||
|
- ./deploy/sql/:/docker-entrypoint-initdb.d/ # 初始化的脚本,若 ./__data/mysql/ 文件夹存在数据,则不会执行初始化脚本
|
||
|
networks:
|
||
|
- nest_admin_net
|
||
|
|
||
|
redis:
|
||
|
image: redis:alpine
|
||
|
container_name: nest-admin-redis
|
||
|
restart: always
|
||
|
env_file:
|
||
|
- .env
|
||
|
- .env.production
|
||
|
ports:
|
||
|
- '${REDIS_PORT}:6379'
|
||
|
command: >
|
||
|
--requirepass ${REDIS_PASSWORD}
|
||
|
networks:
|
||
|
- nest_admin_net
|
||
|
|
||
|
nest-admin-server:
|
||
|
# build: 从当前路径构建镜像
|
||
|
build:
|
||
|
context: .
|
||
|
dockerfile: Dockerfile
|
||
|
container_name: nest-admin-server
|
||
|
restart: always
|
||
|
env_file:
|
||
|
- .env
|
||
|
- .env.production
|
||
|
extra_hosts:
|
||
|
- 'host.docker.internal:host-gateway'
|
||
|
ports:
|
||
|
- '${APP_PORT}:${APP_PORT}'
|
||
|
# 当前服务启动之前先要把depends_on指定的服务启动起来才行
|
||
|
depends_on:
|
||
|
- mysql
|
||
|
- redis
|
||
|
networks:
|
||
|
- nest_admin_net
|
||
|
|
||
|
networks:
|
||
|
nest_admin_net:
|
||
|
name: nest_admin_net
|