20 Star 101 Fork 63

zxiaosi / Vue3-FastAPI

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
docker-compose.yml 4.54 KB
一键复制 编辑 原始数据 按行查看 历史
zxiaosi 提交于 2023-04-26 15:42 . 解决 服务器 时区不对 问题
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 桥段 (可选)
1
https://gitee.com/zxiaosi/vue3-fastapi.git
git@gitee.com:zxiaosi/vue3-fastapi.git
zxiaosi
vue3-fastapi
Vue3-FastAPI
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891