突然我的
Dockerfile
提出了一个错误:
错误:无法解决:无法复制到非目录:/var/lib/docker/overlay2/unmqsp2hwigzv0yjeufoloalx/merged/usr/share/zoneinfo/posix/Africa
我的 Dockerfile:
FROM python:3.9-slim as build
WORKDIR /app
COPY requirements.txt /requirements.txt
FROM gcr.io/distroless/python3-debian11
COPY . /app
WORKDIR /app
COPY --from=build /app /app
COPY --from=build /usr/local/lib/python3.9/site-packages /usr/lib/python3.9
ENV PYTHONUNBUFFERED=1
EXPOSE 5000
CMD ["src/standalone.py"]
我尝试添加以下命令,但仍然出现错误:
RUN mkdir -p /usr/share/zoneinfo/posix/Africa
然后我尝试修改命令,这是错误的根源:
FROM: COPY --from=build /usr /usr
TO: COPY --from=build /usr/ /usr/
我不确定为什么你要为此应用程序使用多阶段构建,但你可以将你的 Dockerfile 更新为类似的内容(只需选择最适合你的 python 映像):
# FROM python:3.9-slim as build
FROM gcr.io/distroless/python3-debian11
RUN mkdir /app
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
ENV PYTHONUNBUFFERED=1
EXPOSE 5000
CMD ["src/standalone.py"]
我假设您的
Dockerfile
和 requirements.txt
位于您的应用程序文件夹内。