python - 将 Envoy Dockerfile 基础镜像更新为 python 3.6+

标签 python docker envoyproxy

我尝试将 envoy 基础镜像中的 python 版本更新为 python-3.6。但它不起作用。

这是我必须使用的基本图像(特使代理),默认情况下有 python-3.5.2 https://github.com/envoyproxy/envoy/blob/master/ci/Dockerfile-envoy-image

FROM ubuntu:16.04

RUN apt-get update \
    && apt-get upgrade -y \
    && apt-get install -y ca-certificates \
    && apt-get autoremove -y \
    && apt-get clean \
    && rm -rf /tmp/* /var/tmp/* \
    && rm -rf /var/lib/apt/lists/*
...

这是我的 deadsnake/ppa apt-get 更新版本

FROM envoyproxy/envoy:latest

RUN apt-get update && apt-get -q install -y \
    curl \
    software-properties-common \
    python-software-properties

RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt-get update && apt-get -q install -y \
    python3.6 \
    python3-pip

RUN python3 --version && pip3 --version

RUN pip3 install gunicorn
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r ./requirements.txt
RUN mkdir /code
WORKDIR /code
COPY . /code

ADD ./boot.sh /usr/local/bin/boot.sh
RUN chmod u+x /usr/local/bin/boot.sh

ENTRYPOINT /usr/local/bin/boot.sh

非常感谢您的帮助或一些提示,以便我自己找到解决方案。

最佳答案

python3和pip3 exec指向系统python3.5

我建议在python3.6上安装pip,并且总是使用python3.6和pip3.6来引用新版本。

RUN curl https://bootstrap.pypa.io/get-pip.py | python3.6
RUN python3.6 --version && pip3.6 --version
RUN pip3.6 install --no-cache-dir -r ./requirements.txt

关于python - 将 Envoy Dockerfile 基础镜像更新为 python 3.6+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54747015/

相关文章:

kubernetes - Istio Envoy 代理转发客户端证书信息

docker - 无法通过服务器 IP 访问 Envoy Admin 服务器

python - 如何判断哪个进程正在使用某个文件?

python - 在 Solaris 11.2 上编译 python 3.7 在链接阶段失败

python - 如果 SetUpClass 中的某些条件失败,则跳过单元测试

logging - 如何将节点红色控制台日志保存到Docker中的单独日志文件中

docker - 在 docker 容器上开发时使用 IDE

python - 两条线之间的像素强度值

docker - Actix Web 在空闲时消耗 %5 的 Cpu

nginx - 使用 Istio 在两个 pod 之间进行简单的 http 请求