Compose: أضف خيار no-cache to docker-compose build

تم إنشاؤها على ٢ مارس ٢٠١٥  ·  13تعليقات  ·  مصدر: docker/compose

سيكون من المفيد إذا كان بإمكان المرء القيام بذلك
docker-compose build service1 service2 --no-cache

التعليق الأكثر فائدة

فقط أدركت أن النحو هو
docker-compose build --no-cache service1 service2

ال 13 كومينتر

فقط أدركت أن النحو هو
docker-compose build --no-cache service1 service2

كنت أبحث عن هذا !!

ها هي طريقتي النظيفة لإعادة بناء مجموعتي المؤلفة

cd (إلى DIR الخاص بك)

 docker-compose rm --all &&
 docker-compose pull &&
 docker-compose build --no-cache &&
 docker-compose up -d --force-recreate &&

منطقي؟ أبحث عن أفضل الممارسات هنا :)

+1
هل هناك حاجة إلى إعادة إنشاء القوة؟

+1
أعتقد أن --force-recreate هو الخيار الأفضل

--force-recreate غير ضروري ، لأنه تمت إزالة جميع الحاويات للتو.

إذا كنت تريد مسح _ كل شيء _ خارج ، فإن down أفضل من rm ، لأنه يمكنه أيضًا إزالة وحدات التخزين والشبكات.

$ docker-compose down -h
Stops containers and removes containers, networks, volumes, and images
created by `up`.

By default, the only things removed are:

- Containers for services defined in the Compose file
- Networks defined in the `networks` section of the Compose file
- The default network, if one is used

Networks and volumes defined as `external` are never removed.

Usage: down [options]

Options:
    --rmi type          Remove images. Type must be one of:
                        'all': Remove all images used by any service.
                        'local': Remove only images that don't have a custom tag
                        set by the `image` field.
    -v, --volumes       Remove named volumes declared in the `volumes` section
                        of the Compose file and anonymous volumes
                        attached to containers.
    --remove-orphans    Remove containers for services not defined in the
                        Compose file

أنا أستخدم هذا منذ 3 أشهر وهو متين للغاية لتلبية احتياجاتي.
لا أرغب في إزالة: الشبكات والأحجام والصور

        echo && echo "PikWi says: docker-compose stop" && \
    docker-compose stop && \
        echo "PikWi says: docker-compose rm ..." && \
    docker-compose rm -f --all && \    
        echo "PikWi says: docker-compose pull" && \
    docker-compose pull && \
        echo "PikWi says: docker-compose build ..." && \
    docker-compose build --no-cache && \
        echo "PikWi says: docker-compose up ..." && \
    docker-compose up -d --force-recreate --remove-orphans

سأكون سعيدًا باستخدام شيء أقصر أو أنظف. أنا أفضل ممارسة :)

هتافات!

--لا لا تعمل ذاكرة التخزين المؤقت .... ما هو البديل - تواصل القوة-إعادة البناء استخدام ذاكرة التخزين المؤقت :(

julianfrank لست متأكدًا مما كنت تقصده بـ --no-cache does not work ولكن ربما تقوم بتشغيله كـ
docker-compose build SERVICE_NAME --no-cache
عندما يجب أن يكون في الواقع docker-compose build --no-cache SERVICE_NAME ؟

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

إذا كنت تستخدم ذاكرة التخزين المؤقت fuc ** d وبدلاً من ذلك لا تستخدم ذاكرة التخزين المؤقت ، فأنت تقوم بإدخال أوامر جديدة في ملف عامل الإرساء لفرض تجديد طبقة ذاكرة التخزين المؤقت وإرسال الإعجاب ، وتحتاج معالجة ذاكرة التخزين المؤقت في عامل الإرساء إلى إعادة بناء ... أو تعمل بالفعل على تنظيف طبقات ذاكرة التخزين المؤقت

في الواقع ، إنه لا يعمل ...
يمكنك إجراء جميع التغييرات على Dockerfile لإحدى الخدمات ، ولا توجد انعكاسات على docker-compose build --no-cache

docker-compose up -d --build --no-deps web سيعيد بناء الحاوية للخدمة المسماة "الويب" في docker-compose.yml. بمجرد الانتهاء من إعادة البناء ، سيتم إعادة تشغيل الحاوية المحددة.

--no-deps سيحد من إعادة البناء لاسم الخدمة المحددة في الأمر.

بالإضافة إلى ذلك ، سيعيد هذا الأمر إنشاء الحاوية إذا كنت تنسخ الملفات في الحاوية وتغير أحد الملفات التي تنسخها - مثل requirements.txt

لمعلوماتك
docker-compose up --force-recreate --build

يبدو أنه لا يوجد خيار - no-cache لأمر up
يبدو أن force-rebe لا يستخدم هذا الخيار. يرجى تصحيح لي إذا كنت مخطئا!

لذا فإن أفضل نهج بالنسبة لي هو القيام بذلك ...

في نهاية المطاف تكوين أمر إعادة بناء بالنسبة لي

يزيل الحاوية والصور> يُنشئ الصور بدون إنشاء ذاكرة التخزين المؤقت> يتم فصل عامل إنشاء السفن> متابعة السجلات (حتى تتمكن من إخراج ctrl+c منه)

docker-compose build --force-rm --no-cache && docker-compose up --detach && docker-compose logs -f

شبابيك:
docker-compose build --force-rm --no-cache ; docker-compose up --detach ; docker-compose logs -f

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات