diff --git a/.env.docker.example b/.env.docker.example index 63d497b..da38499 100644 --- a/.env.docker.example +++ b/.env.docker.example @@ -1,7 +1,9 @@ # 复制为根目录 .env 后再修改;根目录 .env 已加入 Git 忽略。 -# 对外端口(默认仅绑定本机) +# 对外绑定地址和端口(默认仅绑定本机;局域网访问时将 COMPOSE_BIND_IP 改为 0.0.0.0) +COMPOSE_BIND_IP=127.0.0.1 FRONTEND_HOST_PORT=8080 +BACKEND_HOST_PORT=9099 MYSQL_HOST_PORT=13307 # MySQL diff --git a/README.md b/README.md index 2ff63b0..49dbdfa 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,6 @@ docker compose up -d --build docker compose ps ``` -浏览器访问:http://localhost:8080;宿主机连接 MySQL 时使用 `127.0.0.1:13307`。 +浏览器访问:http://localhost:8080;后端直连接口为 `http://localhost:9099`;宿主机连接 MySQL 时使用 `127.0.0.1:13307`。需要局域网访问时,将根目录 `.env` 中的 `COMPOSE_BIND_IP` 改为 `0.0.0.0`,再使用宿主机局域网地址访问前端和后端端口。 已有数据库不能通过全量初始化脚本升级。请先备份并核对目标库,再按照 `shierfeng-fastapi-backend/sql/patches/` 下对应的 MySQL 增量补丁和部署文档执行;不要通过删除 Compose 数据卷来代替迁移。 diff --git a/docker-compose.yml b/docker-compose.yml index a40d39a..e9858c4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,7 +17,7 @@ services: - mysql-data:/var/lib/mysql - ./shierfeng-fastapi-backend/sql/shierfeng-fastapi.sql:/docker-entrypoint-initdb.d/01-shierfeng-fastapi.sql:ro ports: - - 127.0.0.1:${MYSQL_HOST_PORT:-13307}:3306 + - ${COMPOSE_BIND_IP:-127.0.0.1}:${MYSQL_HOST_PORT:-13307}:3306 healthcheck: test: - CMD-SHELL @@ -89,6 +89,8 @@ services: LOGURU_STDOUT: 'true' expose: - '9099' + ports: + - ${COMPOSE_BIND_IP:-127.0.0.1}:${BACKEND_HOST_PORT:-9099}:9099 depends_on: shierfeng-mysql: condition: service_healthy @@ -114,7 +116,7 @@ services: container_name: shierfeng-frontend restart: unless-stopped ports: - - 127.0.0.1:${FRONTEND_HOST_PORT:-8080}:80 + - ${COMPOSE_BIND_IP:-127.0.0.1}:${FRONTEND_HOST_PORT:-8080}:80 volumes: - ./shierfeng-fastapi-frontend/bin/nginx.dockermy.conf:/etc/nginx/conf.d/default.conf:ro depends_on: