Командная строка Senior Dockerfile и multi-stage обновлено

Мини-линтер Dockerfile

Условие

На вход подаётся Dockerfile. Выведи найденные проблемы в формате <номер строки> <код> в порядке строк. Правила: DL-LATEST, если FROM без тега или с тегом latest (строка FROM image или FROM image:latest, с необязательным AS имя; образы с @sha256 не трогать); DL-ADD, если строка начинается с ADD; DL-SHELL-CMD, если CMD или ENTRYPOINT не в exec-форме (после инструкции не идёт [); DL-APT, если в строке есть apt-get install без -y. В конце выведи USER-MISSING, если в файле нет ни одной инструкции USER. Инструкции регистронезависимы, комментарии пропускай.

Как подойти

Подсказки: 2
  1. toupper($1) для регистра инструкции.
  2. Exec-форма: второе поле начинается с [.

Решите в тренажёре

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