Някога чудили ли сте се как да пакетирате приложение на Python, така че да може да работи почти навсякъде? Въведете Docker, решението, което внася последователност и преносимост в микса. Това ръководство цели да накара тези две технологии да работят заедно. Хайде да влезем!

Защо да се занимавате с Docker?

Преди да се потопим в „как“, ето накратко „защо“:

  1. Последователност: Докер е като надежден приятел. Той гарантира, че вашето приложение се държи по същия начин, независимо дали е на вашата локална машина или в облачна настройка.
  2. Без бъркотия: Мислете за Docker контейнерите като за подредени отделения. Съдържанието на един контейнер не пречи на съдържанието на друг.
  3. Мащабирайте го: Когато дойде време за растеж, Docker ви позволява да мащабирате приложението си, било то на вашия собствен компютър или на мощен сървър в облака.

Да си изцапаме ръцете!

Ето бърз поглед върху структурата на нашия проект:

Project_folder
|-- docker/ Docker's toolkit
    |-- Dockerfile
    |-- docker-compose.yml
    |-- requirements.txt
|-- app/ This is where our Python code resides
    |-- main.py

Сега имаме цялостен изглед на това как е структуриран проектът, нека дефинираме съдържанието на всеки файл в папката на docker

  1. Docker файл
# Use the official Python 3.11.5 image as the base
FROM python:3.11.5

# Set a working directory
WORKDIR /usr/src/app

# Copy the requirements file into the container
COPY docker/requirements.txt .

# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt

# Copy the rest of the application code into the container
COPY app/ /usr/src/app/

# The command to run when the container starts
CMD ["python", "./main.py"]

Ето накратко ние:

  • Започваме да декларираме изображението на Python.
  • Дефинирайте нашето работно пространство вътре в контейнера.
  • Копирайте нашите изисквания и ги инсталирайте.
  • Прехвърлете нашето приложение Python в контейнера.
  • Посочете командата за стартиране на нашето приложение.

2. Всичко за Docker Compose

Този файл действа като наш оркестратор:

version: '3'
services:
  app:
    build:
      context: ..
      dockerfile: docker/Dockerfile
    ports:
      - '5000:5000' # For accessing our Python app if needed

Помага ни:

  • Настройте средата за нашите Docker операции.
  • Посочете нашия Dockerfile.
  • Направете главната папка на проекта контекст
  • Разкрийте нашето приложение Python на порт 5001.

Ако някога трябва да добавите друго изображение, да кажем на MongoDB или нещо друго, то ще бъде под услуги.

3. Зависимости

Файлът с изисквания съдържа всички зависимости, които ще са необходими в проекта, както е дефинирано по-долу, трябва да поставите името и версията на модула.

requests==2.26.0

Как да го управляваме?

Изпълнението му е много просто:

  1. Уверете се, че Docker и Docker Compose са инсталирани.
  2. Отидете до директорията на вашия проект.
  3. Започнете нещата с docker-compose up.

Ето! Вашето Python приложение вече си тананика в своя Docker контейнер на порт 5000, това, което може да се препоръча, е да използвате „script.sh“, за да изпълнява всички инструкции веднага.

Това е опаковка!

Docker носи нов слой от удобство и гъвкавост на вашите Python приложения. Развихрете го и усетете разликата! 🚀

Само забележка, това е моята встъпителна статия. Благодаря, че прочетохте до края. Има още съдържание в процес на подготовка, така че следете за още прозрения и изследвания. наздраве! 🎉📝