Hejka :)
Czuję się amatorem w tematach devopsowych i chciałam podpytać o dobre praktyki.
Mój problem:
Mam działająca aplikację, w dockerfile mam zdefiniowane żeby uruchamiać javaagenta. Chcę uruchamiać tego javaagenta tylko dla wybranych środowisk w zależności od parametru.
Moje pierwsze podejście do tematu, to było, żeby w entrypoint dodać skrypt bashowy i w tym skrypcie mieć zdefiniowany warunek.
Plusy rozwiązania: buduję jeden image i mogę go deployowac sukcesywnie na różnych środowiskach.
Problem: Okazuje się, ze używamy w projekcie distroless jdk - co implikuje, że nie ma shella :D
Zwątpiłam w siebie, stwierdziłam, że celowo używają jdk bez shella ze względów bezpieczeństwa czy tam dobrych praktyk i postanowiłam przejśc na podejście, żeby dodać drugi dockerfile i w zależności od parametru wybierać odpowiedni dockerfile i w ten sposób chcę to rozwiązać. To oczywiście sprawia, że już w momencie budowania a nie deployu muszę znać ten parametr ale jeżeli nie mam użyć shella to wydaje się jedynym sensownym rozwiązaniem.
Moje pytanie, czy faktycznie podejście inny dockerfile jest lepsze i czy faktycznie unikać skryptów w dockerfile?