我有这个 dockerfile :
FROM python:3.9-alpine AS base
ENV PYROOT /pyroot
ENV PYTHONUSERBASE ${PYROOT}
ENV PATH=${PATH}:${PYROOT}/bin
RUN pip install pipenv
COPY Pipfile\* ./
RUN PIP_USER=1 pipenv install --system --deploy --ignore-pipfile
FROM python:3.9-alpine
ENV PYROOT /pyroot
ENV PYTHONUSERBASE ${PYROOT}
ENV PATH=${PATH}:${PYROOT}/bin
RUN addgroup -S myapp && adduser -S -G myapp user -u 1234
COPY --chown=myapp:user --from=base ${PYROOT}/ {PYROOT}/
RUN mkdir -p /usr/src/app/app
WORKDIR /usr/src/app
COPY --chown=myapp:user app ./app
COPY --chown=myapp:user main.py ./
USER user
CMD \["uvicorn", "main:app","--host", "0.0.0.0", "--port", "8080"\]
当我运行以下命令时:
$ sudo docker build -t myapp:latest . && sudo docker run --name testapp -p 8080 myapp:latest
我收到此错误:
docker:来自守护进程的错误响应:无法为容器创建任务:无法创建 shim 任务:OCI 运行时创建失败:runc 创建失败:无法启动容器进程:exec:“uvicorn”:在 $PATH 中找不到可执行文件:未知。
输入如下命令:
CMD [“诗歌”,“运行”,“uvicorn”,“app.main:应用程序”,“--主机”,“0.0.0.0”,“--端口”,“8000”]。
对我有帮助