четверг, 16 апреля 2015 г.

Поймал забавную ошибку при построении docker image

Наткнулся на забавную проблему, захотелось поделиться решением.

Я последнее время полюбил для публичных образов докера строить их не у себя а в облаке docker hub.

Идея простая, делаешь dockerfile публичным, заливаешь его в github, и настраиваешь автоматизированную сборку, при пуше коммитов в репозиторий оно само пересоберется.

Удобно, не требует ресурсов, дополнительный контроль, и нет необходимости а значит меньше возможности сделать ошибку с распространением образа.

Но вчера, один из моих образов отказался собираться напрочь.

Получаю вот такое сообщение:

Таймаут и всё тут. Ну, раз, я подумал что сбой в системе сборки, второй раз. Руками подергал тригер сборочный, не проходит и всё.

Хотел уж баг-репорт отсылать в докер хаб, но решил таки попробовать собрать локально.

И конечно ж:

Пакет mysql захотел получить пароль пользователя с консоли.

И висит так бесконечно, до таймаута.

Решение,запускать так:
RUN DEBIAN_FRONTEND=noninteractive apt-get install

Эту мелочь я всё время забываю.