Docker: الجلب من مستودعات GitHub الخاصة باستخدام "go get"
عند محاولة تشغيل حاوية تستضيف خدمة golang من GitHub خاص repository، قد تواجه صعوبات إذا كنت تستخدم صورة google/debian:wheezy كنقطة بداية. ينشأ هذا الخطأ عندما يحاول "go get" استنساخ المستودع.
تنبع المشكلة من الصعوبات في استنساخ المستودع الخاص بسبب مشاكل التحقق من صحة مفتاح SSH. من الجدير بالذكر أنه على الرغم من أنك أضفت مفاتيح GitHub SSH إلى ملف Dockerfile للسماح بالاستنساخ، يبدو أن هناك مشكلة في التحقق من صحة المفتاح العام.
لحل هذه المشكلة، فكر في الحل التالي:
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
يتضمن هذا الحل تثبيت SSH وإنشاء مفتاح خاص في الحاوية. على الرغم من أنها ليست مثالية، إلا أنها توفر حلاً بديلاً لمشكلة جلب المستودعات الخاصة باستخدام "go get" في بيئة Docker المستندة إلى Debian Wheezy.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3