Citace od: doom kdy 12. 06. 2018, 18:01:38
Zdar, potrebuju udelat docker image, ktorej bude obsahovat spring aplikaci (ne boot), ktera pobezi v tomcate s vyuzitim postgre databazy. S dockerem teprv zacinam, tak bych vas chctel poprosit, jestli jste nekdo neco podobneho resil, a neposkytnul dockfile, nebo nejaku radu jak to udelat? Jestli se ptam na blbost tak se omlouvam, je to pro me nove. Dekuji.
Toto, co chcete, je vyslovene anti-pattern. V image mate mat jeden process, to je presne jeden process, nie dva, nie tri - jeden. Vo vasom pripade je JVMko jeden process a Postgres druhy.
Druhy bod, na ktorom sa vzdy pobavim, je kombinacia Javy a Dockra.... Aky to ma preboha vyznam? Vytvarat virtualizovane prostredie pre uz aj tak vitualny stroj s vlastnou virtualnou instrukcnou sadou, ktory virtualizuje 3/4 OS rozhrani? Dufam, ze aj ten Docker Linux host bezi na VMWare. Videli ste film Inception? Aj v tomto pripade na kazdej urovni bezi cas kusicek pomalsie....
V skratke, Docker pre Javu sa vola Spring Boot, alebo Capsule, pricom ten druhy je polomrtvy projekt, takze plati Docker pre Javu = Spring Boot.
Rozhodne urobite lepsie, ked preportite vas kod na Spring Boot ako ze nabastlite nepodareny shell script, ktory sa v jednom Docker image bude snazit spustit aj JVM aj Postgres.
Istotne viete, ze Spring Boot generuje monolicticky image vsetkych zavislosti, podobne ako Docker, v ktorom vam nastartuje aplikacia, relacna databaza a kompletna AI platforma, MapReduce framework a este aj ten Tomcat....