این راهنما شما را در فرآیند کانتینریسازی یک برنامه با استفاده از Docker راهنمایی میکند. شما یک Dockerfile خواهید نوشت، تصویر را خواهید ساخت، آن را به عنوان یک کانتینر اجرا خواهید کرد و به صورت اختیاری آن را به Docker Hub push خواهید کرد.
مرحله 1: ایجاد یک Dockerfile
در ریشه پروژه خود، یک فایل بدون پسوند ایجاد کنید.Dockerfile
مثال (برنامه Flask پایتون):
# تصویر پایه FROM python:3.10-slim # تنظیم دایرکتوری کاری WORKDIR /app # کپی تمام فایلهای پروژه COPY . . # نصب وابستگیها RUN pip install --no-cache-dir -r requirements.txt # در معرض گذاشتن پورت برنامه EXPOSE 5000 # دستور برای اجرای برنامه CMD ["python", "app.py"] برای زبانهای دیگر مانند Node.js یا Java، تصویر پایه و دستورات را تنظیم کنید.
مرحله 2: ساخت تصویر Docker
ترمینال خود را باز کنید، به دایرکتوری پروژه خود بروید و اجرا کنید:
docker build -t my-app-image . -
-t my-app-image: تصویر را برای مرجع آسان تگ میکند. -
.: به دایرکتوری فعلی حاوی Dockerfile اشاره میکند.
مرحله 3: اجرای کانتینر Docker
docker run -d -p 5000:5000 --name my-app-container my-app-image -
-d: در حالت detached اجرا میشود (در پسزمینه). -
-p 5000:5000: پورت میزبان را به پورت کانتینر مپ میکند. -
--name: به کانتینر یک نام سفارشی میدهد.
مرحله 4: بررسی کانتینر
برای تأیید اجرای آن:
docker ps به برنامه خود با مراجعه به آدرس زیر دسترسی پیدا کنید:
http://localhost:5000 (اختیاری) مرحله 5: توقف و حذف
کانتینر را متوقف کنید:
docker stop my-app-container کانتینر را حذف کنید:
docker rm my-app-container تصویر را حذف کنید:
docker rmi my-app-image (اختیاری) مرحله 6: Push به Docker Hub
-
به Docker وارد شوید:
docker login -
تصویر را تگ کنید:
docker tag my-app-image yourusername/my-app-image -
تصویر را push کنید:
docker push yourusername/my-app-image
اکنون میتوانید این تصویر را در هر جایی با دستور زیر pull کنید:
docker pull yourusername/my-app-image نتیجهگیری
با استفاده از Docker، شما برنامه خود را در یک کانتینر سبکوزن و قابل حمل بستهبندی کردهاید که به طور یکسان در تمام محیطها اجرا میشود. چه در حال استقرار محلی، در محیط staging یا production باشید، Docker تضمین میکند که برنامه شما در همه جا یکسان رفتار میکند. این رویکرد توسعه، تست و استقرار را سادهتر میکند و گردش کار شما را سریعتر و قابل اعتمادتر میسازد.
جستجو