Dockerfile WORKDIR, COPY и RUN: файл в новом образе

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

Файл в новом образе

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

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

Требования:

  • Рабочий каталог образа /workspace.
  • Выданный файл доступен как /workspace/notice.txt и /workspace/result/notice.txt с исходным содержимым.
  • Каталог result и копия файла создаются во время сборки; ручные изменения контейнера не учитываются.

После сборки выполняется выданная контрольная команда; писать её реализацию не требуется:

["sh", "-c", "awk 'NR != 1 || $0 != \"delivery=alpha\" {bad=1} END {exit (bad || NR != 1)}' notice.txt && cmp notice.txt result/notice.txt && cat result/notice.txt"]

Ожидаемый код завершения: 0.

Вывод должен содержать:

  • delivery=alpha

Меняйте только Dockerfile. Выданные файлы доступны в рабочем пространстве задания.

Это offline-подзадача упаковки, а не проверка полного локального проекта.

Проверка результата образа не доказывает порядок инструкций сборки. Требования к способу сборки дополнительно проверьте по своему Dockerfile.

РешениеDockerfile

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

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

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