В моем случае я хотел бы иметь два jar-файла в контейнерах. В типичном образе докера я вижу точку входа, которая в основном запускает файл jar. В моем случае я не буду знать, какую программу нужно запускать, пока контейнер не будет использован в службах K8s. В моем примере у меня есть файл jar, в котором применяются DDL, а второй файл Jar - это мое приложение. Я хочу, чтобы k8s сначала развернуло мое приложение DDL, а после завершения оно развернет мое приложение с загрузочной пружиной (из другого jar, но из того же контейнера). Таким образом, я не могу указать точку входа для своего контейнера, скорее мне нужно запустить конкретный файл jar, используя команду и аргумент из моего файла yaml. Во всех примерах, с которыми я сталкивался, я вижу точку входа, используемую для запуска моего процесса Java.
Отличие от упомянутого здесь поста в том, что я хочу, чтобы в контейнере было два jar-файла, и когда я загружаю контейнер через k8s, я хочу решить, какую программу запустить из командной строки. Один из вариантов, который я изучаю, - это иметь параметризованный скрипт оболочки, чтобы я мог передать имя jar в качестве параметра, и оболочка запустит java -jar. Я обновлю здесь, как только найду что-то
обновление решения Добавьте два файла jar в файл Docker и получите скрипт оболочки, который использует параметр. Используйте приведенный ниже пример для вызова правого файла jar из yaml-файла K8s
spec: container:
- image: URL imagePullPolicy: всегда name: image-name command: ["/ bin / sh"]args: ["-c", "/home/md/javaCommand.sh jarName.jar"]
порты: - контейнер: порт: 8080
имя: http