Docker - добавление Python и зависимостей в Apache - PullRequest
0 голосов
/ 19 января 2019

У меня есть скрипт на python, для которого я пытаюсь создать контейнер docker. Я новичок в docker, поэтому извините, если это действительно просто!

Если я настраиваю свой существующий скрипт python в новой системе, я всегда запускаю следующее для установки зависимостей ....

pip install numpy opencv-python dlib imutils

У меня есть базовый Dockerfile, который загружает PHP с apache вот так ...

FROM php:7.0-apache
COPY src/ /var/www/html
EXPOSE 80

Есть ли способ добавить Python в стек и установить эти зависимости? Или я совершенно неправильно понял Докера?

1 Ответ

0 голосов
/ 19 января 2019

Если я правильно понял по самому первому пункту, вам нужно получить несколько пакетов из Python, а затем попробовать один раз (например, я импортирую образ версии Python 2.7 здесь).

FROM python2.7-slim

Тогда дляПри установке нескольких пакетов вы можете создать файл с именем requirements.txt (в котором будут все детали пакетов), а затем запустить в нем следующую команду:

cat requirements.txt
numpy
opencv-python
dlib
imutils

pip install -r requirements.txt


Если я устанавливаю свой существующий скрипт Python в новой системе, я всегда запускаю следующее для установки зависимостей ....

Небольшое объяснение концепции Docker: Таким образом, концепция Docker НЕ УСТАНАВЛИВАЕТ зависимости на какие-либо машины и заставляет наши коды работать на любой машине, не добавляя дополнительных средств для установки зависимостей нашего кода и т. Д. По сути, наше решение Dockerize должно быть способно обрабатывать любую систему.Вот какие шаги будут:

1- Создайте свой код на Python (здесь на примере).2- Теперь поместите его в каталог докера.3- САМЫЙ важный шаг - создайте файл с именем Dockerfile в каталоге докера.4- Теперь упомяните всю последовательность команд в нем, ниже приведен пример Dockerfile`:

FROM python2.7-slim
DIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python","your_python_code_file"]

Так что здесь вы можете видеть всякий раз, когда мы создаем наш образ (комбинацию нашего кода и Dockerfile), нам НЕ нужноустановить что-либо на наш реальный сервер / компьютер - это преимущество Docker, наш образ ДОЛЖЕН БЫТЬ зависимым.Как только мы создадим наш образ и отправим его в хранилище, этот же образ может быть использован любым другим человеком на любом другом компьютере.

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