У меня есть 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)
Есть идеи, как использовать эти аппаратные ресурсы для ускорения сборки?
Ответы:
Похоже, что это общая проблема с Docker в Windows 10, потому что я обнаружил, что несколько потоков в сети говорили об этой проблеме, и, как правило, она не связана с аппаратным ресурсом, назначенным для Docker.
Итак, я сделал несколько попыток на своем виртуальном экземпляре Windows 10 и заметил похожее поведение при запуске некоторых контейнеров на основе Linux с использованием примера docker-compose.
Здесь я сообщаю о шагах, найденных во время поисков, которые действительно ускоряли операции во время моих тестов:
Добавьте каталоги для разработчиков (например, git repos) и docker:
Список исключений Защитника Windows ( https://support.microsoft.com/en-us/help/4028485/windows-10-add-an-exclusion-to-windows-defender-antivirus )
ПРИМЕЧАНИЕ. Сначала попробуйте отключить Защитник Windows, чтобы узнать, поможет ли это.
Список исключений для индексирования Windows (Панель управления -> Параметры индексирования)
Flush dns выполняет следующую команду:
Попробуйте изменить DNS, например, на Google (8.8.8.8 - 8.8.4.4) или Cloud Fare (1.1.1.1 - 1.0.0.1) (здесь, поскольку у меня уже был Google DNS, я попытался противоположным способом установить медленнее DNS и реально операции стали немного медленнее)
Добавьте исключение, если установлен какой-либо другой антивирус (также сначала попробуйте отключить их, чтобы увидеть, может ли это помочь)
Удалить всю поддержку IPV6 и NetBIOS со всех сетевых интерфейсов.
ПРИМЕЧАНИЕ. Кто-то посоветовал удалить Docker и установить после этого, но я не тестировал, потому что я начал с новой установки Windows 10.
Надеюсь, что это может помочь и в вашей среде!
Лучшие ссылки, которые я нашел:
источник
проверьте, не слишком ли много файлов в каталоге сборки, есть ли необходимость в dcoker, чтобы отправить все файлы демону, которому также нужно время для завершения ......
вы можете игнорировать ненужные файлы, используя
.dockerignore
источник