如果我添加
FROM nginx:1.16-alpine
对于我的Dockerfile,我的构建因以下错误而中断:
/bin/sh: pip: not found
我尝试通过以下方式发送更新命令:
RUN set -xe \
&& apt-get update \
&& apt-get install python-pip
但是然后我得到一个错误,即找不到apt-get。
这是我的Dockerfile:
FROM python:3.7.2-alpine
FROM nginx:1.16-alpine
ENV INSTALL_PATH /web
RUN mkdir -p $INSTALL_PATH
WORKDIR $INSTALL_PATH
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD gunicorn -b 0.0.0.0:9000 --access-logfile - "web.webhook_server:create_app()"
如果我删除那一行:
FROM nginx:1.16-alpine
一切正常。但是,当然,我需要nginx。
这里可能出什么问题了?我很困惑。
答案 0 :(得分:0)
如this issue中所述:
使用多个FROM并不是一个真正的功能,而是一个错误[...]
请注意:
-正在讨论删除对多个FROM的支持:#13026
因此,您应该确定一张最适合您的图像,然后通过RUN apk add安装所需的必要包装。请注意,您用作基础的两个映像都基于 alpine linux ,并且您需要使用apk
而不是apt-get
来安装软件包。
答案 1 :(得分:0)
使用“ FROM nginx:1.16”代替“ FROM nginx:1.16-alpine”。高山图像没有合适的位置。使用“ nginx:1.16”,您可以使用apt安装额外的软件包。
FROM指令告诉Docker守护程序从映像扩展。您不能扩展2张不同的图片。
让我知道这是否有帮助。