Docker 安装了 python 3.5.2 而不是 python 3.6
Docker installed python 3.5.2 instead of python 3.6
我不明白为什么安装了 python 3.5.2
而不是 python 3.6
。所以我无法执行我的 python 文件,因为我使用的 f 字符串文字语法仅在 python 3.6
.
中可用
也许有人可以帮助我?
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.6 --version && pip3 --version
RUN pip3 install gunicorn
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
RUN mkdir /code
COPY . /code
WORKDIR /code
RUN pip3 install --no-cache-dir -r ./requirements.txt
ADD ./boot.sh /usr/local/bin/boot.sh
RUN chmod u+x /usr/local/bin/boot.sh
ENTRYPOINT /usr/local/bin/boot.sh
This 是 docker 的一个例子,它使用 Python 3.6
基本上它使用另一个存储库。更多信息,请访问 this link。
但是你可以使用 python 3.6.
的官方 docker 图像
不要使用这个:
FROM envoyproxy/envoy:latest
改用这个:
FROM python:3.6-stretch
所以你传递的例子会变成:
FROM python:3.6-stretch
RUN python3.6 --version && pip3 --version
RUN pip3 install gunicorn
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
RUN mkdir /code
COPY . /code
WORKDIR /code
RUN pip3 install --no-cache-dir -r ./requirements.txt
ADD ./boot.sh /usr/local/bin/boot.sh
RUN chmod u+x /usr/local/bin/boot.sh
ENTRYPOINT /usr/local/bin/boot.sh
因为如果我们查看 envoy docker 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/*
...
默认有python-3.5.2
。
如果您需要 python-3.6
- 使用 apt 安装它,或构建您自己的映像。
我不明白为什么安装了 python 3.5.2
而不是 python 3.6
。所以我无法执行我的 python 文件,因为我使用的 f 字符串文字语法仅在 python 3.6
.
也许有人可以帮助我?
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.6 --version && pip3 --version
RUN pip3 install gunicorn
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
RUN mkdir /code
COPY . /code
WORKDIR /code
RUN pip3 install --no-cache-dir -r ./requirements.txt
ADD ./boot.sh /usr/local/bin/boot.sh
RUN chmod u+x /usr/local/bin/boot.sh
ENTRYPOINT /usr/local/bin/boot.sh
This 是 docker 的一个例子,它使用 Python 3.6
基本上它使用另一个存储库。更多信息,请访问 this link。
但是你可以使用 python 3.6.
的官方 docker 图像不要使用这个:
FROM envoyproxy/envoy:latest
改用这个:
FROM python:3.6-stretch
所以你传递的例子会变成:
FROM python:3.6-stretch
RUN python3.6 --version && pip3 --version
RUN pip3 install gunicorn
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
RUN mkdir /code
COPY . /code
WORKDIR /code
RUN pip3 install --no-cache-dir -r ./requirements.txt
ADD ./boot.sh /usr/local/bin/boot.sh
RUN chmod u+x /usr/local/bin/boot.sh
ENTRYPOINT /usr/local/bin/boot.sh
因为如果我们查看 envoy docker 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/*
...
默认有python-3.5.2
。
如果您需要 python-3.6
- 使用 apt 安装它,或构建您自己的映像。