مرحبا،
أنا أستخدم docker-compose + docker-machine لنشر خدماتي على أجهزة السحابة البعيدة. لقد لاحظت أن المرحلة الأولى من docker-compose build
بطيئة جدًا بالنسبة لي مع اتصال إنترنت لائق (عادةً ما بين 3 دقائق و 15 دقيقة).
عند التشغيل باستخدام --verbose
تكون المرحلة البطيئة هي docker build <- (pull=False, nocache=False, stream=True, tag=u'backenddev_web', path='XXX', rm=True, dockerfile='Dockerfile-production')
من خلال ما يمكنني رؤيته من مراقب النشاط على جهاز الكمبيوتر المحمول ، هذه مرحلة يتم فيها تحميل بعض البيانات. لقد لاحظت أيضًا أن الوقت يتناقص إذا قمت بتقليل حجم الدليل الذي أقوم بالبناء منه. تتراوح سرعة التحميل خلال هذه المرحلة بين 100Ko / s و 200Ko / s ، سواء كنت أقوم بالبناء على Google Compute أو Digital Ocean - والذي يبدو بطيئًا للغاية. يجب أن أكون قادرًا على تحميل 800Ko / s على الأقل.
هل لديك أي فكرة عن كيفية تسريع الأمور أو التعمق في مشكلتي؟
شكر.
الجزء الأول من build
هو تحميل سياق الإنشاء إلى محرك عامل الإرساء. سياق البناء هو كل شيء في الدليل والأدلة الفرعية. إذا كانت لديك ملفات بيانات كبيرة ، أو ملفات كبيرة .git
، فربما تقوم بتحميل الكثير من العناصر غير الضرورية. .dockerignore
لذا يمكنك تخطي أي ملفات لا تريد تحميلها.
https://docs.docker.com/reference/builder/#dockerignore -ملف
من المفترض أن يساعد هذا ، فقد تم توفير 10 ملايين بالفعل مع تجاهل .git
! شكر.
عظيم!
الجزء الأول من
build
هو تحميل سياق الإنشاء إلى محرك عامل الإرساء. سياق البناء هو كل شيء في الدليل والأدلة الفرعية. إذا كانت لديك ملفات بيانات كبيرة ، أو ملفات كبيرة.git
، فربما تقوم بتحميل الكثير من العناصر غير الضرورية..dockerignore
لذا يمكنك تخطي أي ملفات لا تريد تحميلها.https://docs.docker.com/reference/builder/#dockerignore -ملف
يجب أن أعطي إعجابًا كبيرًا لك ، إجابتك تحل مشكلتي حقًا.
التعليق الأكثر فائدة
الجزء الأول من
build
هو تحميل سياق الإنشاء إلى محرك عامل الإرساء. سياق البناء هو كل شيء في الدليل والأدلة الفرعية. إذا كانت لديك ملفات بيانات كبيرة ، أو ملفات كبيرة.git
، فربما تقوم بتحميل الكثير من العناصر غير الضرورية..dockerignore
لذا يمكنك تخطي أي ملفات لا تريد تحميلها.https://docs.docker.com/reference/builder/#dockerignore -ملف