Зображення Docker повільно створюються на Windows / MVC Core


9

У мене є MVC Core 2.2 з декількома проектами в докерних контейнерах. Коли я запускаю його, потрібно тривати приблизно 4 хвилини, щоб створити зображення та запустити контейнери. Я використовую docker-compose.

Це здається повільним, враховуючи, що це невелика розробка, і я маю гідний комп’ютер. Здається, що ресурси не використовуються, оскільки процесор знаходиться під 8% під час збирання зображення, рамка не зміщується, диск майже на 0%. GPU 0%. Під час завантаження зображення Microsoft я можу бачити шипи в Інтернеті протягом декількох секунд, але це все. Я надав docker такі ресурси:

Cores: 8
RAM: 8GB
SWAP: 3gb
Disk Image Size: 64GB (30.5 GB used)

Будь-які ідеї, як ці апаратні ресурси можна використовувати для швидшого нарощування?


Чи використовували ви основні зображення Windows або Linux?
Thomas Brüggemann

Я використовую зображення на базі Linux на машині Windows 10
mgPePe

1
Таким чином, контейнери Linux не працюватимуть під Windows 10, Docker для Windows створить для цього спеціальний VM, можливо, це призведе до затримки. Вона існує експериментальна функція , але це все ще бачать розвиток github.com/moby/moby/issues/33850
Томас Bruggemann

Відповіді:


2

Здається, це загальна проблема з Docker в Windows 10, тому що я знайшов кілька потоків в Інтернеті, які розповідають про цю проблему, і, здається, взагалі не пов'язані з апаратним ресурсом, призначеним Docker.

Тому я кілька спроб на своєму віртуальному екземплярі Windows 10 і помітив подібну поведінку під керуванням деяких контейнерів на базі Linux, використовуючи приклад docker-compose.

Тут я повідомляю про кроки з усіх тих, що виявили під час моїх пошуків, які, здавалося, пришвидшили операції під час моїх тестів:

  1. Додайте розробки (наприклад, git repos) та каталоги зображень docker на:

  2. Промийте dns, виконуючи таку команду:

    ipconfig /flushdns
    
  3. Спробуйте змінити DNS, наприклад, Google One (8.8.8.8 - 8.8.4.4) або Cloud Fare one (1.1.1.1 - 1.0.0.1) (Ось, як я вже мав DNS Google, я спробував навпаки встановити a повільніше DNS і дійсно операції стали трохи повільнішими)

  4. Додайте виняток, якщо інший встановлений антивірус (також спершу спробуйте відключити їх, щоб побачити, чи це може допомогти)

  5. Видаліть всю підтримку IPV6 та NetBIOS з усіх мережевих інтерфейсів

ПРИМІТКА. Корисні поради щодо видалення Docker та встановлення після них застосовуються, але я не тестував, оскільки я почав із нової інсталяції Windows 10.

Сподіваюся, що це може допомогти і вашому оточенню!

Найкращі посилання, які я знайшов:


1

перевірте, чи є в каталозі збірки занадто багато файлів, чи є dcoker, щоб надіслати всі файли демону, який також потребує часу, щоб закінчити ......

ви можете ігнорувати непотрібні файли, використовуючи .dockerignore

Перш ніж CLI докера надсилає контекст докерному демону, він шукає файл з назвою .dockerignore у кореневій каталозі контексту. Якщо цей файл існує, CLI змінює контекст, щоб виключити файли та каталоги, що відповідають шаблонам. Це допомагає уникнути зайвого надсилання великих та чутливих файлів і каталогів демону та потенційно додавати їх до зображень за допомогою ADD або COPY.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.