Создание Dockerfile для приложения Python
Шаг 1: Создание файлов
Создадим простой Python проект и добавим следующий код в main.py:
a = 11
b = 16
print(f'The sum of {a} and {b} is {a+b}')
Шаг 2: Создание Dockerfile
Создадим файл в нашем проекте:
И добавим следующий код:
#Выбор базового образа
FROM python:latest
#Укажем мета данные
LABEL authors="permin0ff"
# Рабочий каталог можно выбрать любой, например, '/' или '/home' и т. д.
WORKDIR /usr/app/src
#Копируем удаленный файл в рабочем каталоге в контейнере
COPY main.py ./
# Теперь структура выглядит следующим образом '/usr/app/src/main.py'
#Для запуска программного обеспечения следует использовать инструкцию CMD
CMD [ "python", "./main.py"]
Внутри Dockerfile мы начнем с базового образа Python из Docker Hub. Последний тег используется для получения последнего официального образа Python.
Очень важно установить рабочий каталог внутри контейнера. Я выбрал /usr/src/app. Все команды будут выполнены здесь, а образы будут скопированы только здесь.
Затем мы копируем файл main.py со своего компьютера в текущий рабочий каталог контейнера (./ или /usr/src/app) с помощью команды COPY.
Шаг 3: Создание .dockerignore
Создадим файл .dockerignore в корне нашего проекта:
Теперь откроем нашу папку проекта. Мы видим 2 лишние папки, одна с нашей виртуальной средой, другая с настройками Pycharm.
Чтобы они не были добавлены в наш образ, мы должны добавить их имена в файл .dockerignore, для игнорирования их:
Добавим в файл .dockerignore следующий текст:
Тем самым мы указали какие папки мы не будем включать в наш образ.
В следующем шаге мы создадим образ, и запустим контейнер из этого проекта.