Docker ENTRYPOINT и CMD: команда и аргументы — задача

Практическая задача Docker: CMD, ENTRYPOINT и аргументы. Условие описывает предоставленные файлы, доступный базовый образ и требования к сборке или запуску. Изменяйте только разрешённые файлы. Проверьте пути, рабочую директорию, пользователя и различие настроек сборки и запуска. Задача помогает закрепить поведение Dockerfile на конкретном проекте; объяснения и дальнейшая практика находятся в полном курсе Docker для разработчика.

Аргумент вместо команды

Контекст сборки — только перечисленные выданные файлы. Меняется только Dockerfile.

Базовый образ busybox:1.36 уже доступен; внешние зависимости не нужны.

Оцениваемая native-часть:

  • При запуске без переопределения команды выданная queue.sh получает ровно один аргумент standard, печатает queue=standard и завершается с кодом 0.
  • Метаданные CMD образа содержат отдельный элемент standard. Меняется только Dockerfile; queue.sh поставляется готовой.

Контрольная команда после сборки:

[]

Проверки и самостоятельные действия:

  • Собрать образ из корня выданного контекста.
  • Автоматическая часть запускает образ без аргументов: ожидаются код 0 и queue=standard.
  • Ручная часть: проверьте Dockerfile — фиксированная команда задана ENTRYPOINT в exec-форме, а единственный стандартный аргумент задан CMD в exec-форме.
  • Ручная часть: docker run --rm <ваш-образ> priority должен вывести queue=priority; с deferred — queue=deferred. Эти отдельные запуски не входят в native-проверку.

Границы проверки:

  • Native-проверка оценивает стандартный запуск, наличие standard в CMD и наличие выданного файла. Это не полная автоматическая проверка синтаксиса или композиции ENTRYPOINT/CMD.
  • По единственному запуску нельзя отличить все способы получения одинаковой итоговой команды. Exec-форму, разделение фиксированной команды и аргумента, а также переопределения priority/deferred проверьте вручную указанными действиями.
  • Доставку сигналов длительному процессу эта короткая программа не проверяет.
РешениеDockerfile

Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.

Отправьте решение, чтобы увидеть результаты тестов.

Связанные задачи