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.
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
