我有一个python脚本,它使用DigitalOcean工具(doctl和kubectl)来封装。这意味着我的容器需要安装python、doctl和kubectl。问题是,我知道如何在dockerfile中安装python和DigitalOcean工具。
我可以使用基本映像" python :3“安装python,也可以使用基本映像”alpin/doctl“安装DigitalOcean工具。但是,规则是您只能在dockerfile中使用一个基本图像。
因此,我可以包含python映像并以另一种方式安装DigitalOcean工具:
FROM python:3
RUN <somehow install doctl and kubectl>
RUN pip install firebase-admin
COPY script.py
CMD ["python", "script.py"]或者我可以包含高寒/doctl基础映像,并以另一种方式安装python3。
FROM alpine/doctl
RUN <somehow install python>
RUN pip install firebase-admin
COPY script.py
CMD ["python", "script.py"]不幸的是,我不知道我会怎么做。对我如何安装这些工具的任何帮助都将是很棒的!
发布于 2022-01-06 17:21:08
只需将此添加到您想要的任何其他apt-get install中。
RUN apt-get update && apt-get install -y \
python3.6 &&\
python3-pip &&\在阿尔卑斯山应该是这样的:
RUN apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python &&\
python3 -m ensurepip &&\
pip3 install --no-cache --upgrade pip setuptools &&\发布于 2022-01-06 17:23:06
这个Dockerfile为我工作:
FROM alpine/doctl
ENV PYTHONUNBUFFERED=1
RUN apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python
RUN python3 -m ensurepip
RUN pip3 install --no-cache --upgrade pip setuptools这个答案来自于这里:(https://stackoverflow.com/a/62555259/7479816;,我没有足够的街道信誉来评论)
发布于 2022-01-06 17:28:15
您可以尝试多阶段构建,如下所示。
此外,还需要检查copy语句,您需要定义要将script.py文件复制到何处作为第二个参数。".“将复制到根目录。
FROM alpine/doctl
FROM python:3.6-slim-buster
ENV PYTHONUNBUFFERED 1
RUN pip install firebase-admin
COPY script.py .
CMD ["python", "script.py"]https://stackoverflow.com/questions/70610919
复制相似问题