"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استخدام "go get" للجلب من مستودعات GitHub الخاصة في حاوية Debian Wheezy Docker؟

كيفية استخدام "go get" للجلب من مستودعات GitHub الخاصة في حاوية Debian Wheezy Docker؟

تم النشر بتاريخ 2024-11-20
تصفح:375

How to Use

Docker: الجلب من مستودعات GitHub الخاصة باستخدام "go get"

عند محاولة تشغيل حاوية تستضيف خدمة golang من GitHub خاص repository، قد تواجه صعوبات إذا كنت تستخدم صورة google/debian:wheezy كنقطة بداية. ينشأ هذا الخطأ عندما يحاول "go get" استنساخ المستودع.

تنبع المشكلة من الصعوبات في استنساخ المستودع الخاص بسبب مشاكل التحقق من صحة مفتاح SSH. من الجدير بالذكر أنه على الرغم من أنك أضفت مفاتيح GitHub SSH إلى ملف Dockerfile للسماح بالاستنساخ، يبدو أن هناك مشكلة في التحقق من صحة المفتاح العام.

لحل هذه المشكلة، فكر في الحل التالي:

  1. تثبيت SSH وتكوين Git لاستخدام SSH:
RUN apt-get update && apt-get install -y ca-certificates git-core ssh
  1. إضافة المفتاح الخاص إلى الحاوية:
ADD keys/my_key_rsa /root/.ssh/id_rsa
  1. تعيين الأذونات على القطاع الخاص المفتاح:
RUN chmod 700 /root/.ssh/id_rsa
  1. تكوين Git لفرض SSH لـ GitHub:
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
  1. قم بتعيين تفضيلات عنوان URL لـ Git SSH:
RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/
  1. أضف المستودع الخاص إلى Docker الصورة:
ADD . /go/src/github.com/myaccount/myprivaterepo
  1. تنفيذ "go get" وتثبيت الحزمة:
RUN go get github.com/myaccount/myprivaterepo
RUN go install github.com/myaccount/myprivaterepo

يتضمن هذا الحل تثبيت SSH وإنشاء مفتاح خاص في الحاوية. على الرغم من أنها ليست مثالية، إلا أنها توفر حلاً بديلاً لمشكلة جلب المستودعات الخاصة باستخدام "go get" في بيئة Docker المستندة إلى Debian Wheezy.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3