Невозможно найти пакет python - PullRequest
1 голос
/ 07 января 2020

Я пытаюсь запустить приведенное ниже содержимое Dockerfile на образе Ubuntu.

FROM ubuntu
RUN apt-get update
RUN apt-get install -y python
RUN apt-get install -y python-pip
RUN pip install flask
COPY app.py /opt/app.py
ENTRYPOINT FLASK_APP=/opt/app.py flask run --host=0.0.0.0

Но я получаю приведенную ниже ошибку на уровне 3.

    Step 1/7 : FROM ubuntu
    ---> 549b9b86cb8d
    Step 2/7 : RUN apt-get update
    ---> Using cache
    ---> 78d87d6d9188
    Step 3/7 : RUN apt-get install -y python
    ---> Running in a256128fde51
    Reading package lists...
    Building dependency tree...
    Reading state information...
    E: Unable to locate package python

Хотя пока я выполните следующую команду по отдельности

sudo apt-get install -y python

она успешно устанавливается.

Может кто-нибудь, пожалуйста, помогите мне.

Примечание: я работаю по доверенности организации.

Спасибо, Сурав

Ответы [ 2 ]

1 голос
/ 07 января 2020
Step 2/7 : RUN apt-get update
    ---> Using cache

Вы должны запустить apt-get update и apt-get install в одной и той же инструкции RUN следующим образом

 RUN apt-get update && apt-get install -y python

Каждая инструкция в Dockerfile создаст отдельный слой в изображении, и слои будут кэшированы. Так что apt-get update может просто использовать кеш и даже не запускаться. Это произошло и в вашем случае. Вы можете увидеть строку ---> Using cache в ваших журналах. Вы можете использовать docker build --no-cache, чтобы docker перестроить все слои без использования кэша.

Вместо этого вы можете просто использовать python:3 официальное изображение в качестве базового для запуска приложений python.

0 голосов
/ 07 января 2020

Я чувствую, что вам лучше использовать образ Python3 вместо ubuntu и затем установить его.

FROM python:3

RUN apt-get update && apt-get install -y python3-pip #You don't need to install pip, because it is already there in python's image

RUN pip install -r requirements.txt

COPY . /usr/src/apps #This you can change

WORKDIR /usr/src/apps/ #this as well

CMD ["python","app.py"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...