Во-первых, что такое docker и зачем он используется?
Docker — это программное обеспечение для контейнеризации, которое позволяет нам упаковать все зависимости, необходимые для запуска приложения, и развернуть его как один пакет в слабо изолированной среде, называемой контейнером. Docker предоставляет эффективный способ совместного использования нашего приложения, не беспокоясь об установке зависимостей.
Вы когда-нибудь сталкивались с такой проблемой, как конфликтующие версии программного обеспечения, когда кто-то поделился с вами приложением или вы клонировали репозиторий GitHub, и теперь он не работает.
Одним из популярных решений этой проблемы является Dockerizing вашего проекта или приложения. Docker будет работать одинаково в любой операционной системе.
Есть много деталей, которые могут быть не столь важны для практической реализации докера.
Мы должны были бы в основном сосредоточиться на 3 вещах:
- Файл Docker: план создания образов
- Образ Docker: образ — это шаблон для запуска контейнеров.
- Контейнер Docker: Контейнер — это фактический процесс, в котором у нас есть проект пакета.
Мы рассмотрим 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 упрощает упаковку, контейнеризацию и совместное использование вашего приложения без каких-либо хлопот.