Ответ 1
command docker commit
принимает снимок вашего контейнера. Этот снимок - это изображение, которое вы можете поместить в (закрытый) репозиторий, чтобы иметь возможность вытащить его на другой хост.
Опция, которая не использует изображение (которое, как вы говорите, вы хотите избежать), действительно save и load. Согласно документации, это сохраняет ваш контейнер со всеми файловыми слоями. Поэтому, если у вас есть установка с дочерними контейнерами, такими как Ubuntu > JavaJDK > Elasticsearch > my-container, все 4 слоя файлов будут доступны. Но у вас могут быть первые 3 слоя, уже присутствующие в виде изображений на другом хосте, и в этом случае save
составляет много накладных расходов. Затем вы можете использовать export и import, который согласно документации только экспортирует верхний слой файла (другими словами, контейнер, а не изображения ниже него).
Более подробную информацию об изображениях, контейнерах, файлах и т.д. можно найти в официальной документации (например, файловая система.