Не можна поєднувати докер-файли, оскільки можуть виникнути конфлікти. Що ви хочете зробити, це створити новий докер-файл або створити власний образ.
TL; DR; Якщо ваш поточний контейнер розробки містить усі необхідні вам інструменти та працює, збережіть його як зображення та на ньому до репозиторію та створіть файл docker для вилучення з цього зображення з цього репо.
Подробиці: Створення власного образу набагато простіше, ніж створення докер-файлу за допомогою загальнодоступного образу, оскільки ви можете зберігати в зображенні всі хаки та моди. Для цього запустіть порожній контейнер з базовим образом Linux (або broadinstitute / scala-baseimage), встановіть будь-які потрібні вам інструменти та налаштуйте їх, поки все не спрацює правильно, а потім збережіть його (контейнер) як зображення. Створіть новий контейнер на цьому зображенні та перевірте, чи можете ви створити свій код поверх нього за допомогою docker-compose (або як ви хочете зробити / побудувати його). Якщо це працює, тоді у вас є робоче базове зображення, яке ви можете завантажити в репо, щоб інші могли його витягнути.
Щоб створити докер-файл із загальнодоступним образом, вам потрібно буде розмістити всі хаки, моди та налаштування на самому докер-файлі. Тобто вам потрібно буде розмістити кожен командний рядок, який ви використовували, у текстовий файл і зменшити будь-які хаки, моди та налаштування в командні рядки. Врешті-решт ваш файл docker автоматично створить зображення, і вам не потрібно зберігати це зображення в репо, а все, що вам потрібно зробити, це надати іншим файл докера, і вони можуть обертати зображення у своєму власному докері.
Зверніть увагу, що коли у вас є робочий файл docker, ви можете легко його налаштувати, оскільки він створюватиме новий образ кожного разу, коли ви використовуєте файл docker. З користувацьким зображенням ви можете зіткнутися з проблемами, коли вам потрібно відновити образ через конфлікти. Наприклад, усі ваші інструменти працюють з openjdk, доки ви не встановите той, який не працює. Виправлення може передбачати видалення openjdk та використання оракула, але вся конфігурація, яку ви зробили для всіх встановлених інструментів, зламалася.