Back to "استخدام Dokker Compus for Devel التنمية"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

Docker

استخدام Dokker Compus for Devel التنمية

Friday, 13 September 2024

أولاً

عندما نطوّر البرمجيات تقليدياً كنا نطوّر قاعدة بيانات، و قائمة رسائل، ومخبأ، وربما بعض الخدمات الأخرى. هذا يمكن أن يكون من الصعب إدارته، خاصة إذا كنت تعمل على مشاريع متعددة. Doker Compus أداة تسمح لك بتعريف وتشغيل تطبيقات Ducker متعددة الحاويات. إنّها طريقة عظيمة لإدارة مُعتمديّات تطوّرك.

في هذا الموقع، سأريكم كيف تستخدمون Doker Compus لإدارة معتمديات تطويركم.

[رابعاً -

النفقات قبل الاحتياجات

أولاً ستحتاج لتثبيت سطح المكتب الدوكر على أي منصة تستخدمها. يمكنك تحميلها من هنا هنا.

ملاحظة: لقد وجدت أنه على النوافذ تحتاج حقاً لتشغيل Doker file pleter كمدير لضمان تثبيتها بشكل صحيح.

يجري إنشاء ملفّ

يستخدم Doker Compus ملف YAML لتعريف الخدمات التي تريد تشغيلها. هنا مثال لـ a devdeps-docker-compose.yml الملف الذي يعرّف خدمة قاعدة البيانات وخدمة البريد الإلكتروني:

services: 
  smtp4dev:
    image: rnwood/smtp4dev
    ports:
      - "3002:80"
      - "2525:25"
    volumes:
      # This is where smtp4dev stores the database..
      - e:/smtp4dev-data:/smtp4dev
    restart: always
  postgres:
    image: postgres:16-alpine
    container_name: postgres
    ports:
      - "5432:5432"
    env_file:
      - .env
    volumes:
      - e:/data:/var/lib/postgresql/data  # Map e:\data to the PostgreSQL data folder
    restart: always	
networks:
  mynetwork:
        driver: bridge

ملاحظة هنا قمت بتحديد مجلدات لاستمرار البيانات لكل خدمة، هنا قمت بتحديد

    volumes:
      # This is where smtp4dev stores the database..
      - e:/smtp4dev-data:/smtp4dev
    volumes:
        - e:/data:/var/lib/postgresql/data  # Map e:\data to the PostgreSQL data folder

ويكفل ذلك استمرار البيانات بين فترات سير الحاويات.

حسناً على ذلك env_file - - - - - - - - - postgres (بدولارات الولايات المتحدة) هذا ملف يحتوي على المتغيرات البيئية التي تنتقل إلى الحاوية. يمكنك أن ترى قائمة بالمتغيرات البيئية التي يمكن نقلها إلى حاوية PostgreSQL هنا هنا. هنا مثال لـ a .env

POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=<somepassword>

هذا هو a افتراضي قاعدة بيانات كلمة مرور و مستخدم لـ PostgreSQL.

هنا أيضاً أدير خدمة SMTP4Dev، هذه أداة عظيمة لاختبار وظيفة البريد الإلكتروني في تطبيقك. يمكنك أن تجد المزيد من المعلومات عنه هنا هنا.

إذا نظرت في appsettings.Developmet.json الملف سوف ترون لدي تشكيل التال لخادم SMTP:

  "SmtpSettings":
{
"Server": "localhost",
"Port": 2525,
"SenderName": "Mostlylucid",
"Username": "",
"SenderEmail": "[email protected]",
"Password": "",
"EnableSSL": "false",
"EmailSendTry": 3,
"EmailSendFailed": "true",
"ToMail": "[email protected]",
"EmailSubject": "Mostlylucid"

}

هذا يعمل لـ SMTP4Dev وهو يُمْكِنُني أَنْ أُختبرَ هذه الخاصيةِ (يُمْكِنُ أَنْ أُرسلَ إلى أيّ عنوان، ويَرى البريد الإلكتروني في واجهةِ SMTP4Dev على http://docalhost:3002/).

بمجرد أن تتأكد من أنها تعمل كلها يمكنك اختبار على خادم SMTP الحقيقي مثل GMAIL (على سبيل المثال، انظر هنا هنا عن كيفية القيام بذلك)

تشغيل الخدمات

إلى تشغيل الخدمات المحددة في devdeps-docker-compose.yml ملفّ، تحتاج إلى تنفيذ الأمر التالي في نفس دليل الملف:

docker compose -f .\devdeps-docker-compose.yml up -d

ملاحظة يجب عليك تشغيلها في البداية هكذا; هذا يضمن أنك تستطيع رؤية عناصر .env ملف ملفّيّاً.

docker compose -f .\devdeps-docker-compose.yml config

الآن إذا نظرت في مكتب Docكر يمكنك أن ترى هذه الخدمات تعمل

تنفيذ تنفيذ

logo

©2024 Scott Galloway