Dockerizing FastApi Project with TorHam Shortener

Posted by

داکرایز کردن پروژه کوتاه کننده لینک با تورهام | Dockerize FastApi

داکرایز کردن پروژه کوتاه کننده لینک با تورهام | Dockerize FastApi

در این مقاله ما می‌خواهیم به شما نشان دهیم که چگونه می‌توانید پروژه کوتاه کننده لینک خود را با استفاده از تکنولوژی داکرایز کنید. ما از فریم‌ورک FastApi برای ایجاد سرویس کوتاه کننده لینک استفاده خواهیم کرد و سپس آن را به یک کانتینر داکریزه کرده و آماده برای اجرا در هر محیطی خواهیم کرد.

قدم اول: نصب FastApi

برای شروع، ابتدا باید مطمئن شویم که فریم‌ورک FastApi در سیستم ما نصب شده است. برای نصب آن، می‌توانیم از pip استفاده کنیم:


pip install fastapi

قدم دوم: نصب داکر

برای داکرایز کردن پروژه، ابتدا باید داکر را در سیستم خود نصب کنیم. برای این کار می‌توانیم از دستورات مختلف بسته به سیستم عامل خود استفاده کنیم. به عنوان مثال، برای سیستم‌عامل لینوکس ابتدا باید Docker Engine را نصب کنیم و سپس Docker Compose را نیز نصب کنیم.

قدم سوم: ایجاد سرویس کوتاه کننده لینک با FastApi

حال که FastApi نصب شده است، می‌توانیم یک سرویس کوتاه کننده لینک ایجاد کنیم. به عنوان مثال، می‌توانیم یک فایل با نام main.py ایجاد کنیم که محتوای زیر را داشته باشد:


from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
return {"message": "Hello, World"}

قدم چهارم: داکرایز کردن پروژه

حال که سرویس کوتاه کننده لینک با FastApi ایجاد شده است، می‌توانیم آن را داکرایز کنیم. برای این کار، ابتدا باید یک فایل با نام Dockerfile ایجاد کنیم که محتوای زیر را داشته باشد:


FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8
COPY ./app /app

سپس با استفاده از دستورات داکر، می‌توانیم تصویر Docker ایجاد کرده و پروژه را داکرایز کنیم:


docker build -t shortlink .
docker run -d --name shortlink -p 80:80 shortlink

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

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

0 0 votes
Article Rating
5 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@techwithtori
9 months ago

پروژه رو با fastapi نوشتم انقدر فلسک کار کردم هی میگم فلسک 🙂

@pxeemo
9 months ago

بسیار عالی

@spacejesus2014
9 months ago

asmr کیبورد فقط😄

@masanmola
9 months ago

عالی بود💯
وسط هاش حیف شد که نشد بیلد بگیری😢
تهش هم که یه آموزش ریز گیت و گیت‌هاب داشتیم😂👌

@vahid-davoodi
9 months ago

کیبوردت خیلی صدا میده 😅