首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Dockerfile中安装python而不使用python映像作为基础

在Dockerfile中安装python而不使用python映像作为基础
EN

Stack Overflow用户
提问于 2022-01-06 17:12:38
回答 3查看 3.4K关注 0票数 6

我有一个python脚本,它使用DigitalOcean工具(doctl和kubectl)来封装。这意味着我的容器需要安装python、doctl和kubectl。问题是,我知道如何在dockerfile中安装python和DigitalOcean工具。

我可以使用基本映像" python :3“安装python,也可以使用基本映像”alpin/doctl“安装DigitalOcean工具。但是,规则是您只能在dockerfile中使用一个基本图像。

因此,我可以包含python映像并以另一种方式安装DigitalOcean工具:

代码语言:javascript
复制
FROM python:3
RUN <somehow install doctl and kubectl>
RUN pip install firebase-admin
COPY script.py
CMD ["python", "script.py"]

或者我可以包含高寒/doctl基础映像,并以另一种方式安装python3。

代码语言:javascript
复制
FROM alpine/doctl
RUN <somehow install python>
RUN pip install firebase-admin
COPY script.py
CMD ["python", "script.py"]

不幸的是,我不知道我会怎么做。对我如何安装这些工具的任何帮助都将是很棒的!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-01-06 17:21:08

只需将此添加到您想要的任何其他apt-get install中。

代码语言:javascript
复制
RUN apt-get update && apt-get install -y \
    python3.6 &&\
    python3-pip &&\

在阿尔卑斯山应该是这样的:

代码语言:javascript
复制
RUN apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python &&\
    python3 -m ensurepip &&\
    pip3 install --no-cache --upgrade pip setuptools &&\
票数 4
EN

Stack Overflow用户

发布于 2022-01-06 17:23:06

这个Dockerfile为我工作:

代码语言:javascript
复制
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;,我没有足够的街道信誉来评论)

票数 3
EN

Stack Overflow用户

发布于 2022-01-06 17:28:15

您可以尝试多阶段构建,如下所示。

此外,还需要检查copy语句,您需要定义要将script.py文件复制到何处作为第二个参数。".“将复制到根目录。

代码语言:javascript
复制
FROM alpine/doctl
FROM python:3.6-slim-buster
ENV PYTHONUNBUFFERED 1
RUN pip install firebase-admin
COPY script.py .
CMD ["python", "script.py"]
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70610919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档