پرش به مطلب اصلی

داکرایز کردن برنامه‌های پایتون: راهنمای کاربردی

مقدمه: داکر و اهمیت آن در توسعه نرم‌افزار

داکر یک پلتفرم قدرتمند برای ساخت، توسعه و اجرای برنامه‌هاست که مشکلات رایج در زمینه توسعه و استقرار نرم‌افزار را حل می‌کند. این ابزار با ایجاد محیط‌های مجزا و قابل حمل، امکان اجرای یکسان برنامه‌ها را در محیط‌های مختلف فراهم می‌کند.

مزایای کلیدی استفاده از داکر:

  1. قابلیت حمل: برنامه‌ها به راحتی بین سیستم‌های مختلف قابل انتقال هستند.
  2. محیط‌های ایزوله: هر کانتینر داکر یک محیط مستقل از سایر برنامه‌ها ایجاد می‌کند.
  3. مدیریت وابستگی‌ها: با استفاده از Dockerfile وابستگی‌های برنامه به سادگی مدیریت می‌شوند.
  4. یکپارچگی با CI/CD: برنامه‌های داکری به راحتی در فرآیندهای CI/CD ادغام می‌شوند.
  5. امنیت بهبود یافته: داکر امکان اجرای برنامه‌ها در محیط‌های ایمن و ایزوله را فراهم می‌کند.

ساخت Dockerfile برای برنامه‌های پایتون

برای داکرایز کردن یک برنامه پایتون، اولین قدم ایجاد یک Dockerfile است. این فایل حاوی دستورالعمل‌هایی برای ساخت یک ایمیج داکر است. در ادامه، نمونه‌هایی از Dockerfile برای فریم‌ورک‌های مختلف پایتون ارائه شده است.

نکته

اگر برنامه شما نیاز به نصب برنامه‌های جانبی دارد (مانند mysql-client)، دستورات نصب را در فایل run.sh بنویسید. این فایل قبل از نصب وابستگی‌های پایتون اجرا می‌شود:

COPY ./run.sh /app/run.sh
RUN chmod +x /app/run.sh
RUN /app/run.sh
FROM python:3.10-slim

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /app

COPY ./requirements.txt /app/requirements.txt

RUN apt-get update && apt-get install -y --no-install-recommends build-essential gcc

COPY ./run.sh /app/run.sh
RUN chmod +x /app/run.sh
RUN /app/run.sh

RUN pip install --upgrade pip
RUN pip install -r requirements.txt --no-cache-dir

COPY . /app

CMD ["python", "./app.py"]

بیلد و اجرا کردن داکر فایل

برای بیلد کردن داکر فایل و ساخت ایمیج از دستور:

docker build -t [ProjectName] .
  • t- : دادن برچسپ و نام مخصوص برای پروژه

و سپس برای اجرای آن:

docker run -p outport:inport[5000] --name=container-name -d [ProjectName]
  • p- : تعیین پورت برای اجرای پروژه
  • outport : پورتی خارجی
  • inport : پورت داخلی پروژه که در داکر فایل تعیین کرده اید
  • name-- : تعیین نام کانتینر
  • d- : اجرای کانتینر در حالت بدون نمایش
توجه

قبل از استقرار در محیط تولید، حتماً ایمیج Docker خود را در یک محیط مشابه تولید تست کنید.