Привет, постараюсь ответить на твой вопрос. Docker не такой уж и сложный, и особо набивать руку, там незачем. Тут скорее важны знания того, как собираются определенные проекты, к примеру как собрать: .NET core, java, npm.
набить руку в докере
Вариант поставить докер и развернуть nginx уже сделал, но хочется что-то более приближенного к реалиям
Попробуй взять, какой-нибудь готовый проект на Github и докерезивировать
(создать для него Docker-file) его. Или посмотри на уже готовые проекты, разберись в том, как там устроен Docker-file. Чтобы найти такие проекты, и посмотреть примеры их докеризации можно погуглить что-то типа:
how to dockerize spring boot application,
how to dockerize django application,
how to dockerize react app. Там чаще всего уже есть пример проекта.
Если еще не знаком c
multi-stage builds, советую ознакомиться. Когда у тебя нет готового CI с артефактами, сборку можешь делать так.
https://docs.docker.com/develop/develop-images/mul...
На собеседованиях, часто спрашивают стандартные вопросы о Docker, к примеру чем отличается
COPY от
ADD, и как правильно расставить слои в Docker файле, чтобы работал кэш.
Такие вопросы легко гугляться по
docker interview questions и
docker вопросы на собеседовании.
Лучше способ овладеть Docker это практика!