Практика Dockerfile: пути, запуск, права и multi-stage
Dockerfile собирается, а контейнер сразу завершается, не находит файл или получает permission denied. В этой подборке шесть небольших проектов: у каждого есть исходные файлы, требования к образу и проверка результата. Менять нужно Dockerfile.
Сначала пути, затем запуск и права
Начните с COPY и WORKDIR. У источника COPY точка отсчёта — контекст сборки, а у относительной команды внутри контейнера — рабочий каталог. Если перепутать эти два места, файл может попасть в образ, но программа его не найдёт.
Затем переходите к ENTRYPOINT и CMD: научитесь отделять исполняемую команду от её аргументов. Следующая задача разводит настройки времени сборки и окружение запущенного процесса. После этого настройте запуск без root и соберите финальный образ из результата другой стадии.
Порядок упражнений
- Dockerfile WORKDIR, COPY и RUN: файл в новом образе.
- Dockerfile WORKDIR и COPY: исправление путей проекта.
- Docker ENTRYPOINT и CMD: команда и аргументы — задача.
- Docker ARG и ENV: настройки при сборке и запуске — задача.
- Dockerfile USER: запись файла с ограниченными правами.
- Multi-stage Dockerfile: перенос готового артефакта — задача.
В каждом упражнении сначала прочитайте требования, затем исправьте Dockerfile и запустите проверку. Исходные файлы даны в рабочем пространстве задания. Если условие предлагает дополнительные локальные команды, выполните их отдельно: они проверяют другой режим запуска.
Чтобы продолжить с контейнеризацией приложения, сетью, томами и Compose, откройте курс Docker и Docker Compose. Здесь можно начать с отдельного упражнения и посмотреть, подходит ли вам такой формат практики.
- Dockerfile WORKDIR, COPY и RUN: файл в новом образе
Dockerfile WORKDIR, COPY и RUN: файл в новом образе. Практика с выданными файлами и гостевой проверкой результата сборки на Latorn.
Docker и Docker Compose: контейнеризация приложений - Dockerfile WORKDIR и COPY: исправление путей проекта
Dockerfile WORKDIR и COPY: исправление путей проекта. Практика с выданными файлами и гостевой проверкой результата сборки на Latorn.
Docker и Docker Compose: контейнеризация приложений - Docker ENTRYPOINT и CMD: команда и аргументы — задача
Docker ENTRYPOINT и CMD: команда и аргументы — задача. Практика с выданными файлами и гостевой проверкой результата сборки на Latorn.
Docker и Docker Compose: контейнеризация приложений - Docker ARG и ENV: настройки при сборке и запуске — задача
Docker ARG и ENV: настройки при сборке и запуске — задача. Практика с выданными файлами и гостевой проверкой результата сборки на Latorn.
Docker и Docker Compose: контейнеризация приложений - Dockerfile USER: запись файла с ограниченными правами
Dockerfile USER: запись файла с ограниченными правами. Практика с выданными файлами и гостевой проверкой результата сборки на Latorn.
Docker и Docker Compose: контейнеризация приложений - Multi-stage Dockerfile: перенос готового артефакта — задача
Multi-stage Dockerfile: перенос готового артефакта — задача. Практика с выданными файлами и гостевой проверкой результата сборки на Latorn.
Docker и Docker Compose: контейнеризация приложений
