Как установить библиотеку Python в образ вытянутого докера? - PullRequest
1 голос
/ 05 июля 2019

Я вытащил образ докера для запуска воздушного потока (pucker / airflow), и он работает хорошо.Однако мне не удается установить новую библиотеку Python на этот образ.Я прочитал, что вы должны добавить пакет в файл Docker.Тем не менее, я не знаю, где он хранится.Я работаю на MacOSX.

Спасибо за вашу помощь

Ответы [ 2 ]

1 голос
/ 05 июля 2019

Насколько я понимаю, вы извлекли только образ puckel/docker-airflow из dockerhub и просто запускаете этот образ.

Если вам нужно добавить дополнительные библиотеки и если вы хотите включить установкуиз этих библиотек в процессе сборки вам, вероятно, понадобится Dockerfile.Например, если вы хотите установить requests, минималистичный Dockerfile может выглядеть следующим образом:

FROM puckel/docker-airflow
RUN pip install requests

Создайте такой файл в myproject/, затем cd в myproject/ и просто запустите docker build . Это выведет простой журнал, такой как:

Step 1/2 : FROM puckel/docker-airflow
 ---> 12753a529f9f
Step 2/2 : RUN python3 -m pip install requests
 ---> Running in 66860c8ca099
Requirement already satisfied: requests in /usr/local/lib/python3.6/site-packages (2.22.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/site-packages (from requests) (2019.3.9)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.6/site-packages (from requests) (3.0.4)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/local/lib/python3.6/site-packages (from requests) (2.8)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/site-packages (from requests) (1.25.3)
Removing intermediate container 66860c8ca099
 ---> 66b9d91c4c95
Successfully built 66b9d91c4c95

Затем запустите docker run 66b9d91c4c95, чтобы создать экземпляр изображения, которое вы только что создали, или docker run -it 66b9d91c4c95 bash, чтобы открыть bash в нем.

Вы можете прочитать теги докера , чтобы заменить 66b9d91c4c95 значимым именем.

0 голосов
/ 05 июля 2019

Использовали ли вы команды docker pull и docker run?

Если это так, контейнер работает, вы можете проверить его с помощью docker ps

И если вы хотите установить библиотеки Python в контейнере, вы можете войти в контейнер через

docker exec -it container_id bash

и вот, пожалуйста, с pip install

...