DevOps Bootcamp · درس

دفع الصور إلى السجلات

هيّئوا سير العمل لدفع صور Docker المبنية إلى سجلات الحاويات مثل Docker Hub أو GitHub Container Registry.

الدرس 2 من 411 خطوة

دفع الصور إلى السجلات درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ما هي سجلات الحاويات؟

إن سجل الحاويات خدمة تخزين آمنة عبر الإنترنت لصور Docker الخاصة بكم. ويمكنكم اعتباره محركًا سحابيًا مصممًا خصيصًا لحزم تطبيقكم.

  • تخزّن هذه السجلات إصدارات مختلفة من صوركم.
  • تسهّل مشاركة الصور مع الآخرين.
  • وتُعد ضرورية لنشر التطبيقات في بيئات متنوعة.

لماذا نستخدم السجلات؟

تُعد السجلات ضرورية لتطوير البرمجيات الحديثة. فهي توفر عدة فوائد أساسية:

  • مشاركة الصور: توزيع صور تطبيقكم بسهولة.
  • التحكم في الإصدارات: تخزين إصدارات تطبيقكم المختلفة وإدارتها.
  • النشر الموثوق: ضمان اتساق عمليات النشر عبر البيئات.
  • الأمان: توفر العديد من السجلات فحصًا للثغرات الأمنية.

خدمات السجلات الشائعة

تتوفر العديد من خدمات سجلات الحاويات. ومن الخدمات الشائعة التي ستصادفونها غالبًا:

  • Docker Hub: سجل عام واسع الاستخدام. وهو مناسب لمشاركة الصور العامة والمشاريع الشخصية.
  • GitHub Container Registry (GHCR): متكامل بإحكام مع مستودعات GitHub. وهو خيار ممتاز للصور الخاصة والمؤسسات التي تستخدم GitHub بالفعل.

كما يوفر موفرو الخدمات السحابية الرئيسيون سجلاتهم الخاصة، مثل AWS ECR أو Google Container Registry.

المصادقة في السجل

قبل أن تتمكنوا من دفع صورة إلى سجل، يجب إثبات هويتكم. تُسمى هذه العملية المصادقة، أو «تسجيل الدخول».

ستقدمون عادةً اسم مستخدم ورمز وصول شخصيًا (PAT) أو كلمة مرور. وتضمن بيانات الاعتماد هذه ألا يتمكن من دفع الصور أو سحبها من مستودعاتكم الخاصة إلا المستخدمون المصرّح لهم.

استخدام docker/login-action

في GitHub Actions، تتمثل أفضل طريقة للمصادقة مع معظم السجلات المتوافقة مع Docker في استخدام docker/login-action.

يسجّل هذا الإجراء سير العمل بأمان في السجل المحدد، مما يتيح للخطوات اللاحقة دفع الصور. ويستقبل المدخلين username وpassword.

الدفع إلى Docker Hub

لدفع صورة إلى Docker Hub، يجب أن ينفذ سير العمل ما يلي:

  1. تسجيل الدخول: استخدام docker/login-action مع اسم مستخدم Docker Hub ورمز وصول شخصي (PAT) مخزّن في GitHub Secret.
  2. الإنشاء والدفع: استخدام docker/build-push-action لإنشاء الصورة وتعيين push: true. تأكدوا من أن وسم الصورة يتضمن اسم مستخدم Docker Hub الخاص بكم، مثل your_username/my-app:latest.

مثال على سير عمل Docker Hub

إليكم مثالًا على سير عمل GitHub Actions لإنشاء صورة Docker ودفعها إلى Docker Hub. تذكّروا إعداد DOCKER_USERNAME وDOCKER_TOKEN كـ GitHub Secrets في مستودعكم.

name: Publish Docker image to Docker Hub

on:
  push:
    branches: [ "main" ]

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Log in to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_TOKEN }}

      - name: Build and push Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: true
          tags: ${{ secrets.DOCKER_USERNAME }}/my-app:latest

الدفع إلى GHCR

يوفّر GitHub Container Registry (GHCR) تكاملًا سلسًا. وتشمل الفروقات الأساسية الخاصة بـ GHCR ما يلي:

  • المصادقة: يمكنكم استخدام GITHUB_TOKEN المضمّن للمصادقة. عيّنوا username: ${{ github.actor }} وpassword: ${{ secrets.GITHUB_TOKEN }}.
  • الأذونات: تحتاج مهمتكم إلى إذن packages: write.
  • وضع وسم للصور: توسم الصور بالشكل ghcr.io/<OWNER>/<REPOSITORY>:<TAG>.

مثال على سير عمل GHCR

يوضح سير العمل هذا كيفية دفع صورة إلى GitHub Container Registry. لاحظوا كتلة permissions وتنسيق وسم الصورة.

name: Publish Docker image to GHCR

on:
  push:
    branches: [ "main" ]

jobs:
  build-and-push:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write # Required for GHCR

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Log in to GHCR
        uses: docker/login-action@v3
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Build and push Docker image
        uses: docker/build-push-action@v5
        with:
          context: .
          push: true
          tags: ghcr.io/${{ github.repository }}:latest

تحقق من فهمك

دعونا نراجع سريعًا ما تعلمته عن دفع الصور إلى سجلات الحاويات.

مراجعة: ادفع صورك!

أحسنت! لقد تعلمت كيفية دفع صور Docker إلى سجلات الحاويات باستخدام GitHub Actions.

  • تخزّن سجلات الحاويات صور Docker الخاصة بك وتديرها.
  • تُعدّ المصادقة خطوة أولى أساسية باستخدام بيانات الاعتماد.
  • يساعدك docker/login-action على تسجيل الدخول بأمان.
  • اطّلعت على أمثلة لكلٍّ من Docker Hub وGitHub Container Registry، وتعرّفت على متطلبات المصادقة ووضع العلامات الخاصة بكل منهما.

ستتعلم بعد ذلك كيفية نشر هذه الصور إلى Kubernetes!

البدء مجانًا

تعلم DevOps Bootcamp مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
142
الدروس
568

الأسئلة الشائعة

هل درس «دفع الصور إلى السجلات» مجاني؟

نعم — نص درس «دفع الصور إلى السجلات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.

ماذا ستتعلم في «دفع الصور إلى السجلات»؟

هيّئوا سير العمل لدفع صور Docker المبنية إلى سجلات الحاويات مثل Docker Hub أو GitHub Container Registry. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟

لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «دفع الصور إلى السجلات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟

نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. بناء صور Docker باستخدام Actions
  2. دفع الصور إلى السجلات
  3. النشر في Kubernetes باستخدام Actions
  4. مخططات Helm وملفات Kubernetes التعريفية في CI/CD
← العودة إلى DevOps Bootcamp