Каждый образ докера, который вы определяете, должен иметь предложение FROM, потому что он должен быть основан на другом образе. Вы можете создать свой собственный базовый образ, но, мне кажется, он вам не нужен. Изображение - это не что иное, как набор двоичных файлов, которые вы можете использовать в своем контейнере, созданном из вашего изображения. На докер-хабе доступно множество изображений, поэтому лучше всего сохранять изображения как можно меньше. Поэтому я бы порекомендовал базовые изображения на основе альпийских.
https://hub.docker.com/_/openjdk
Если вам действительно нужно собственное базовое изображение, посмотрите здесь
https://docs.docker.com/develop/develop-images/baseimages/
, а также в связанной статье комментария stackoverflow.
Процессы докер-контейнеров всегда используют ядро док-хоста, поэтому образы докеров должны быть совместимы с ядром хоста, на котором запущены контейнеры. Контейнер докера - это не что иное, как изолированный процесс, запущенный на хосте, особой среды выполнения нет. Если Java-процесс выполняется в контейнере, он фактически выполняется на хосте, и вы можете увидеть его при перечислении хост-процессов на хосте докера.