作者提供的dockerfile有问题,可以参考以下的Dockerfile
git clone https://github.com/sml2h3/ddddocr-fastapi.git
cd ddddocr-fastapi
docker build -t ddddocr-api .
docker run -d -p 8000:8000 --name ddddocr-api-container ddddocr-api
##或者使用docker-compose方式
docker-compose down && docker-compose build && docker-compose up -d
Dockerfile
FROM python:3.9-slim-bullseye
# 1. 系统级镜像加速
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list \
&& sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
# 2. 安装系统依赖
RUN apt-get update && apt-get install -y \
build-essential \
python3-dev \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# 3. 升级 pip 和 setuptools(阿里云镜像)
RUN python -m pip install --upgrade pip==25.0.1 setuptools==75.8.2 \
--progress-bar off \
-i https://mirrors.aliyun.com/pypi/simple/ \
--trusted-host mirrors.aliyun.com
WORKDIR /app
# 4. 分阶段复制文件
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt \
--progress-bar off \
-i https://mirrors.aliyun.com/pypi/simple/ \
--trusted-host mirrors.aliyun.com \
--default-timeout=600
COPY . .
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
docker-compose.yml
version: '3.8'
services:
ddddocr-api:
build: .
ports:
- "8000:8000"
volumes:
- .:/app
environment:
- DEBUG=1
restart: always