L'esaurimento dell'entropia nei sistemi Linux virtualizzati sembra essere un problema comune (ad esempio /dev/random Extremely Slow?, Getting linux to buffer /dev/random). Nonostante l'uso di un generatore di numeri casuali dell'hardware (HRNG) è spesso suggerito l'uso di un demone di raccolta entropico come HAVEGED. Tuttavia un daemon di raccolta entropico (EGD) non può essere eseguito all'interno di un contenitore Docker, deve essere fornito dall'host.Entopia insufficiente per supportare/dev/random nei contenitori docker in esecuzione in boot2docker
L'utilizzo di un EGD funziona bene per gli host di docker basati su distribuzioni Linux come Ubuntu, RHEL, ecc. Il fatto di far funzionare un demone all'interno di boot2docker, basato su Tiny Core Linux (TCL), sembra essere un'altra storia. Sebbene TCL abbia un meccanismo di estensione, un'estensione per un daemon di raccolta entropia doesn't seem to be available.
Quindi un EGD sembra una soluzione adeguata per l'esecuzione di contenitori docker in un ambiente di hosting (di produzione), ma come risolverlo per lo sviluppo/test in boot2docker?
Poiché eseguire un EGD in boot2docker sembrava troppo difficile, ho pensato semplicemente di usare/dev/urandom invece di/dev/random. L'uso di/dev/urandom è un po 'meno sicuro, ma comunque valido per la maggior parte delle applicazioni che non generano chiavi crittografiche a lungo termine. Almeno dovrebbe andare bene per lo sviluppo/test all'interno di boot2docker.
utente OpenSSL 'urandom'. Cosa stai facendo che richiede di più? – akostadinov
Alcuni provider di crittografia Java si relazionano su/dev/random (ad esempio per la generazione sicura di numeri casuali). – mbonato
Sono d'accordo che non puoi sempre controllarlo. In ogni caso, qui hai alcune informazioni aggiuntive su java 'SecureRandom' vs'/dev/[u] random' - https://bugs.openjdk.java.net/browse/JDK-4705093 – akostadinov