Испорчены ли различные кеши в Docker на Mac? - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь устранить неисправность Dockerfile, который я нашел в сети. Поскольку это происходит странным образом, мне интересно, может ли сбой сборки докера или запуск докера из различных подмножеств этого файла или других файлов, с которыми я экспериментировал, может повредить некоторую часть собственного состояния Докера.

Другими словами, может ли это помочь перезагрузить сам Docker, перезагрузить компьютер или выполнить какую-либо другую команду Docker, чтобы исключить такую ​​возможность?

Ответы [ 2 ]

0 голосов
/ 27 января 2019

Иногда помогает простая перезагрузка, и нет ничего плохого в том, чтобы попытаться перезапустить Docker для Mac или выполнить полную перезагрузку, но я не могу вспомнить конкретный симптом, который бы он исправил, и это не то, что мне нужно делать регулярно.

Я действительно столкнулся только с двумя классами проблем, которые звучат так, как вы описываете.

Если у вас есть шаг Dockerfile, который последовательно успешно выполняется, но дает противоречивые результаты:

RUN curl http://may.not.exist.example.com/ || true

Вы можете оказаться в ситуации, когда основная команда не выполнена или выдает неправильный вывод, но шаг RUN в целом выполнен успешно.docker build --no-cache перезапустит сборку, игнорируя это, и чрезвычайно агрессивная последовательность docker rmi (удаляющая каждую сборку, текущую и прошлую, соответствующего изображения) также очистит ее.

Другой класспроблема, с которой я столкнулся, связана с некоторым уровнем коррупции в /var/lib/docker.Обычно это имеет очень очевидные симптомы, обычно связанные с ошибками типа «файл не найден» или «ошибка подключаемого каталога» в настройке, которая, как вы знаете, работает .Я сталкивался с этим больше на родном Linux, чем на Docker для Mac, возможно, потому, что установка DfM Linux немного более управляема и оптимизирована для Docker (она определенно не работает с 3-летним ядром с произвольными исправлениями от поставщиков).В Linux вы можете обойти это, остановив Docker, удалив все в /var/lib/docker и снова запустив Docker;в Docker для Mac в окне настроек есть страница «Сброс» с различными вариантами деструктивной очистки, и «Сброс к заводским настройкам» наиболее близок к этому.

0 голосов
/ 27 января 2019

Сначала я попытаюсь использовать опцию Docker 'Diagnose and Feedback.Обычно он запускает тесты на работоспособность Docker и механизма Docker.

Рабочий стол Docker также имеет параметры для различных сценариев устранения неполадок в «Предпочтения»> «Сброс» (если вы используете Docker Desktop), которые мне помоглив прошлом.

Краткий обзор предыдущих заметок о выпуске Docker.Похоже, в прошлом было возможно испортить Docker Engine;есть свидетельства того, что с тех пор итеративно исправлен двигатель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...