Образ контейнера состоит из двух частей: корневой файловой системы и конфигурации.
при запуске контейнера на основе его образа создается экземпляр контейнера, а образ включает корневую файловую систему. Если выполнить команду docker run -it alpine sh и сравнить с тем, что находится внутри созданного вами вручную контейнера, то общая схема каталогов и файлов окажется той же, а если версия Alpine такая же, то они совпадут в точности.
Часть команд Dockerfile (например, FROM, ADD, COPY и RUN) изменяет содержимое корневой файловой системы, включенной в образ. Другие команды,например USER, PORT и ENV, влияют на хранимую в образе параллельно с корневой файловой системой информацию о настройках. Просмотреть ее можно, выполнив для нужного образа команды docker inspect. Эти настройки задают Docker значения параметров времени выполнения, используемые по умолчанию при запуске образа. Например, переменные среды задаются для выполняемого процесса контейнера с помощью команды ENV в Dockerfile.