Някога чудили ли сте се как да пакетирате приложение на Python, така че да може да работи почти навсякъде? Въведете Docker, решението, което внася последователност и преносимост в микса. Това ръководство цели да накара тези две технологии да работят заедно. Хайде да влезем!
Защо да се занимавате с Docker?
Преди да се потопим в „как“, ето накратко „защо“:
- Последователност: Докер е като надежден приятел. Той гарантира, че вашето приложение се държи по същия начин, независимо дали е на вашата локална машина или в облачна настройка.
- Без бъркотия: Мислете за Docker контейнерите като за подредени отделения. Съдържанието на един контейнер не пречи на съдържанието на друг.
- Мащабирайте го: Когато дойде време за растеж, Docker ви позволява да мащабирате приложението си, било то на вашия собствен компютър или на мощен сървър в облака.
Да си изцапаме ръцете!
Ето бърз поглед върху структурата на нашия проект:
Project_folder |-- docker/ Docker's toolkit |-- Dockerfile |-- docker-compose.yml |-- requirements.txt |-- app/ This is where our Python code resides |-- main.py
Сега имаме цялостен изглед на това как е структуриран проектът, нека дефинираме съдържанието на всеки файл в папката на docker
- 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
Как да го управляваме?
Изпълнението му е много просто:
- Уверете се, че Docker и Docker Compose са инсталирани.
- Отидете до директорията на вашия проект.
- Започнете нещата с
docker-compose up
.
Ето! Вашето Python приложение вече си тананика в своя Docker контейнер на порт 5000, това, което може да се препоръча, е да използвате „script.sh“, за да изпълнява всички инструкции веднага.
Това е опаковка!
Docker носи нов слой от удобство и гъвкавост на вашите Python приложения. Развихрете го и усетете разликата! 🚀
Само забележка, това е моята встъпителна статия. Благодаря, че прочетохте до края. Има още съдържание в процес на подготовка, така че следете за още прозрения и изследвания. наздраве! 🎉📝