Docker: حل المشكلات الرئيسية لـ GitHub SSH لاستنساخ الريبو الخاص
عند محاولة تشغيل حاوية تستخدم خدمة golang من GitHub خاص مستودع، قد تواجه أخطاء أثناء عملية الحصول على. يرتبط أحد هذه الأخطاء بمشكلات في قراءة المفتاح العام لـ GitHub SSH.
المشكلة:عند تشغيل go get github.com/
السبب: يشير هذا الخطأ إلى أن ملف Dockerfile لم يتم تكوينه بشكل صحيح للمصادقة مع GitHub باستخدام SSH. يكشف أمر ssh-keyscan عن عدم تطابق بين المفتاح العمومي وسجل المضيف البعيد.
لحل هذه المشكلة، تحتاج إلى إضافة أمر git config إلى جهازك ملف Dockerfile الذي يفرض استخدام SSH بدلاً من بروتوكول HTTPS الافتراضي لاستنساخ GitHub. فيما يلي مثال لملف Dockerfile الذي يتضمن هذا الإصلاح:
FROM golang
RUN apt-get update && apt-get install -y ca-certificates git-core ssh
إضافة مفاتيح/my_key_rsa /root/.ssh/id_rsa
قم بتشغيل chmod 700 /root/.ssh/id_rsa
RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config
RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/
يضيف . /go/src/github.com/myaccount/myprivaterepo
RUN اذهب واحصل على github.com/myaccount/myprivaterepo
RUN go install github.com/myaccount/myprivaterepo
FROM golang RUN apt-get update && apt-get install -y ca-certificates git-core ssh ADD keys/my_key_rsa /root/.ssh/id_rsa RUN chmod 700 /root/.ssh/id_rsa RUN echo "Host github.com\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config RUN git config --global url.ssh://[email protected]/.insteadOf https://github.com/ ADD . /go/src/github.com/myaccount/myprivaterepo RUN go get github.com/myaccount/myprivaterepo RUN go install github.com/myaccount/myprivaterepo
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3