Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Ulteriori considerazioni
Questa sezione contiene considerazioni generali sulla containerizzazione Java che non sono specifiche delle applicazioni Java EE.
Utilizzo di un'immagine base piccola
Ti consigliamo di creare un'immagine base piccola (inferiore a 500 MB) e ben mantenuta. La riduzione delle dimensioni dell'immagine base riduce i costi di rete e operativi. Un'immagine base più piccola può anche migliorare la sicurezza riducendo il numero di componenti che possono essere sfruttati. Puoi utilizzare una delle immagini distroless basate su Debian. Le immagini hanno il numero minimo di strumenti installati su di esse e non contengono gestori di pacchetti o shell. Queste immagini distroless riducono anche la superficie di attacco complessiva. Le immagini distroless possono avere dimensioni inferiori a 150 MB. Per ulteriori informazioni, consulta l'archivio di immagini GitHub dei contenitori «Distroless».
Ti consigliamo di seguire il principio di eliminazione e sviluppare un tempo di avvio rapido per le immagini di container. Utilizzando tecniche come ahead-of-time-compilation
Aggiornamento a una versione JDK compatibile con i container
Prima di JDK 8u131, la JVM non riconosceva i limiti di memoria o CPU impostati dal motore Docker utilizzando i flag. Ciò significa che ogni volta che si esegue l'applicazione in un container, la JVM "vede" il numero totale di processori disponibili sul sistema o, nel caso delle macchine virtuali, sul sistema virtuale. Lo stesso vale per i limiti di memoria predefiniti: la JVM esaminerà la memoria complessiva dell'host e la utilizzerà per impostarne i valori predefiniti. Di conseguenza, la JVM può richiedere più memoria di quanta ne consenta la piattaforma container, il che comporta la fine del processo Java da parte della piattaforma container (Docker). Una soluzione a questo problema consiste nel migrare l'applicazione Java a Java 9 o 8u131+ prima della containerizzazione. Java 10 e le versioni successive offrono una conoscenza e un supporto completi per i container.