我在 fastapi 应用程序中有很多端点,并且所有端点都在本地主机上运行良好,但是在使用 docker-compose 部署服务后端点消失了。我认为原因是在部署的某个地方,因为如果我在没有 docker 端点的情况下启动服务器。 docker-compose.yml:
services:
postgres:
image: postgres
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
ports:
- "5432:5432"
networks:
- app-network
backend:
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- HOST=postgres
- POSTGRES_DB=${POSTGRES_DB}
- SECRET_KEY=${SECRET_KEY}
- ADMIN_LOGIN=${ADMIN_LOGIN}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
build: .
command: sh -c "alembic upgrade head && python3 main.py"
ports:
- "8000:8000"
restart: on-failure
depends_on:
- postgres
networks:
- app-network
networks:
app-network:
Dockerfile:
FROM python:3.10-alpine
COPY . .
RUN python3 -m pip install -r requirements.txt
我还尝试在身份验证端点(缺少的端点)上发出发布请求,认为这是招摇的错误,但得到了
backend-1 | INFO: 212.45.15.105:26138 - "POST /admin/login HTTP/1.1" 404 Not Found`
我刚刚删除了所有 docker 数据(缓存、图像等)并重建。在我看来,docker 构建了我的应用程序的先前版本,具体取决于缓存或其他东西