Во-первых, что такое docker и зачем он используется?

Docker — это программное обеспечение для контейнеризации, которое позволяет нам упаковать все зависимости, необходимые для запуска приложения, и развернуть его как один пакет в слабо изолированной среде, называемой контейнером. Docker предоставляет эффективный способ совместного использования нашего приложения, не беспокоясь об установке зависимостей.

Вы когда-нибудь сталкивались с такой проблемой, как конфликтующие версии программного обеспечения, когда кто-то поделился с вами приложением или вы клонировали репозиторий GitHub, и теперь он не работает.

Одним из популярных решений этой проблемы является Dockerizing вашего проекта или приложения. Docker будет работать одинаково в любой операционной системе.

Есть много деталей, которые могут быть не столь важны для практической реализации докера.

Мы должны были бы в основном сосредоточиться на 3 вещах:

  1. Файл Docker: план создания образов
  2. Образ Docker: образ — это шаблон для запуска контейнеров.
  3. Контейнер Docker: Контейнер — это фактический процесс, в котором у нас есть проект пакета.

Мы рассмотрим 2 сценария создания файла докера для:

  1. Простой скрипт/программа
  2. Веб-приложение с флягой (env)

Простой скрипт/программа:

Чтобы создать файл докера, нам потребуются такие команды, как from, add, run, cmd. Теперь давайте пройдемся по каждой из команд:

FROM — эта команда используется для предоставления базового изображения.

ADD/COPY — эта команда добавит файл программы в контейнер.

RUN — эта команда установит дополнительные зависимости или пакеты, такие как NumPy, pandas

CMD — эта команда указывает путь к исполняемому файлу программы.

мы будем демонстрировать файл Python с линейной регрессией.

ОТ питона: 3.8

# указывает, что базовым образом является python 3.8

ДОБАВЬТЕ LinearRegression.py.

# add/copy указывает добавить файл программы LinearRegression в текущую папку контейнера. Точка в конце указывает на текущую папку.

RUN pip установить NumPy sklearn

# это установит пакеты NumPy, sklearn в контейнер

CMD [ «python», «./LinearRegression.py»]

# указывает путь к исполняемому файлу программы и запуск файла python в контейнере.

Мы закончили с файлом docker. мы хотели бы построить изображение с помощью этого файла.

docker build -t linear-reg.

Приведенная выше команда создаст образ докера. услышать -t означает тег докера. и указывать имя образа докера как «linear-reg» необязательно, но настоятельно рекомендуется, так как мы будем работать с несколькими образами докера. Точка в конце указывает расположение образа в качестве текущего каталога.

Сейчас завершил образ. мы хотели бы запустить наш контейнер. чтобы запустить контейнер

докер запускает линейный регистр

# docker run — это команда, а «linear-reg» — это имя контейнера.

запустив эту команду, наш контейнер выполняет файл .py, и мы можем увидеть вывод в терминале.

Вышеуказанные шаги можно выполнить для выполнения любого файла Python, который не принимает никаких входных параметров. Если программа принимает ввод, нам придется заменить команду запуска docker на

docker run -t -i linear-reg

# где -I означает интерактивный режим, а -t предоставляет терминал sudo для ввода значений для файла.

Веб-приложение с flask(env):

Мы бы докеризовали простое веб-приложение, используя flask.

Это было бы немного сложнее, чем в предыдущем примере, поскольку мы создали виртуальную среду и нам пришлось бы установить гораздо больше зависимостей. было бы утомительно включать все зависимости в файл докера. поэтому мы создадим файл require.txt с помощью заморозки пипсов, а затем для удобства используем файл requirements.txt в файле докера.

(simpleflask) anurag_k@MacBook-Pro simpleflask % список пипсов

Версия пакета

— — — — — — — — — -

нажмите 7.1.2

Колба 1.1.2

это опасно 1.1.0

Джинджа2 2.11.2

Разметка Безопасная 1.1.1

пункт 20.3.3

инструменты настройки 51.0.0

Веркцеуг 1.0.1

Следующая команда запишет все необходимые зависимости в файл.

заморозка пипа › требования.txt

В командах, которые мы запускаем, будет небольшая разница, поскольку нам нужно будет включить хост и порт, необходимые для веб-приложения. нам нужно будет ввести хост в приложении Python для простоты.

После настройки файла докера нам нужно будет выполнить следующие команды.

сборка докеров -t simpleflask.

в команде запуска docker нам нужно будет указать, что -p 5000:5000 открыт для трафика.

docker run -p 5000:5000 простая фляга

Заключение

Мы заключаем здесь. Я хочу, чтобы вы знали, как докеризировать файл Python, а также можете докеризировать свое веб-приложение.

Docker упрощает упаковку, контейнеризацию и совместное использование вашего приложения без каких-либо хлопот.