代码拉取完成,页面将自动刷新
同步操作将从 zxiaosi/Vue3-FastAPI 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
version: '3.8' # 对应 Docker 版本: https://docs.docker.com/compose/compose-file/compose-versioning/
services:
backend:
build: # 构建
context: ./backend # 需要构建的文件路径 (可以是Dockerfile的文件路径,也可以是到链接到git仓库的url)
dockerfile: ./Dockerfile # 不能和image同时使用
container_name: "fastapi"
ports: # 端口号
- "8000:8000" # 端口号 (宿主机:容器)
depends_on: # 依赖项 (需等待 redis、mysql 先启动, backend 再启动)
- redis
- mysql
networks:
- app
# links: # 容器之间链接 (@host -> @容器别名) 即将被官方遗弃
# - "redis:redis" # 容器名:别名 (redis://user:password@127.0.0.1:6379/db -> redis://user:password@redis:6379/db)
# - "mysql:mysql" # 容器名:别名 (mysql://root:password@127.0.0.1:3306/db -> mysql://root:password@mysql:3306/db)
nginx:
restart: always # 重启策略
image: "nginx:latest" # 镜像名 (${image}:${tag})
container_name: "nginx" # 容器名 (自定义)
ports: # 端口号
- "80:80" # Http (宿主机:容器)
- "443:443" # Https (宿主机:容器)
volumes: # 数据卷
- /opt/docker/nginx/nginx.conf:/etc/nginx/nginx.conf # 配置文件 (宿主机:容器)
- /opt/docker/nginx/conf.d:/etc/nginx/conf.d # 配置文件夹 (宿主机:容器)
- /opt/docker/nginx/html:/usr/share/nginx/html # 前端打包文件 (宿主机:容器)
- /opt/docker/nginx/nginx:/var/log/nginx # 日志文件夹 (宿主机:容器)
# - /opt/docker/nginx/ssl/ # SSL证书地址 (自定义位置)
depends_on: # 依赖项
- backend
networks: # 网络桥段
- app # 指定在app网络桥段下网络互通
redis:
restart: always # 重启策略
image: "redis:latest" # 镜像名 (${image}:${tag})
container_name: "redis" # 容器名 (自定义)
ports:
- "6379:6379" # 端口号 (宿主机:容器)
volumes: # 数据卷
- /opt/docker/redis/redis.conf:/etc/redis/redis.conf # 配置文件 (宿主机:容器)
- /opt/docker/redis/data:/data # 数据文件夹 (宿主机:容器)
- /opt/docker/redis/opt:/opt # redis module (宿主机:容器)
command: [ "redis-server", "/etc/redis/redis.conf" ] # 启动 redis 服务
networks: # 网络桥段
- app # 指定在app网络桥段下网络
mysql:
restart: always # 重启策略
image: "mysql:latest" # 镜像名 (${image}:${tag})
container_name: "mysql" # 容器名 (自定义)
ports:
- "3306:3306" # 端口号 (宿主机:容器)
volumes: # 数据卷
- /opt/docker/mysql/conf.d:/etc/mysql/conf.d # 配置文件夹 (宿主机:容器)
- /opt/docker/mysql/data/:/var/lib/mysql # 数据文件夹 (宿主机:容器)
- /opt/docker/mysql/logs:/logs # 日志文件夹 (宿主机:容器)
environment:
- MYSQL_ROOT_PASSWORD=123456 # root用户密码 (自定义)
- TZ=Asia/Shanghai # mysql时区
command:
# MySQL8的密码验证方式默认是 caching_sha2_password,但是很多的连接工具还不支持该方式
# 就需要手动设置下mysql的密码认证方式为以前的 mysql_native_password 方式
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1 # 设置表名大小写不敏感
networks: # 网络桥段
- app # 指定在app网络桥段下网络
networks:
app: # 使用默认配置
name: app # 否则会多创建一个 docker_app 桥段 (可选)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。