2017-01-26 10 views
0

Я читаю эту dockerfile для letsencrypt на Alpine:pip install letencrypt, hwo знаю, какие пакеты нужны?

https://github.com/CognitiveScale/lets-alpine/blob/master/Dockerfile

Как я знаю, если я instlalled просто pip с apk, или даже apk-get на убунту, не менеджер пакетов также загружать любые другие нужны библиотеки для pip? Почему этот список libs должен быть введен в файл docker?

RUN apk add --update \ 
    python python-dev py-pip \ 
    gcc musl-dev linux-headers \ 
    augeas-dev openssl-dev libffi-dev ca-certificates dialog \ 
    && rm -rf /var/cache/apk/* 

Я спрашиваю это потому, что если я хочу, чтобы создавать изображения на основе альпийского, как я буду знать всю необходимую LIBS?

ответ

1

Эти альпийские пакеты не нужны для самого pip, по-видимому, они необходимы для создания модулей Python, которые вы будете устанавливать с помощью pip.

Вам необходимо прочитать описания модулей, чтобы определить их зависимости. Кроме того, вы можете следовать маршруту «проб и ошибок» и добавлять необходимые альпийские пакеты, когда некоторые модули Python не могут быть созданы.

+0

но не должен ли ПП заботиться о зависимостях, необходимых для сборки модулей? –

+0

Python-зависимости - да, зависимости от ОС - нет. Ну, должно или не должно быть мнения; независимо от того, что он не может установить пакеты ОС. – mustaccio