Il contenitore Docker con Samba esce senza alcun messaggio


8

Disponiamo di un server che esegue CentOS, sul quale sono presenti numerosi servizi nei contenitori Docker per separarli dalle modifiche dell'host.

Venerdì scorsa abbiamo eseguito un aggiornamento su CentOS e da allora uno dei nostri servizi inizia e termina immediatamente. Gli altri 15+ servizi vanno bene.

Ho clonato l'installazione del contenitore, ho cambiato il nome del contenitore e ricostruito con lo stesso problema: il contenitore si avvia e quindi si chiude senza alcun messaggio.

Il contenitore è derivato dal contenitore di samba di David Personette . Il comando effettivo che esce ora ma non è stato utilizzato è:

exec ionice -c 3 smbd -FS

Dovrei effettuare il downgrade della finestra mobile con effetti collaterali? C'è qualcos'altro che posso fare per farlo funzionare di nuovo? Abbiamo scelto i container per sottrarre dal sistema operativo, l'astrazione non è buona come previsto?


Cosa succede se si esegue una shell nel contenitore e quindi si esegue questo comando manualmente?
Giordania,

Ho avuto difficoltà a provare a provarlo, il contenitore ha un punto di ingresso e richiede l'avvio dei parametri della riga di comando. E se funzionasse, non avrei idea di come usarlo in produzione, è possibile?
Giovanni,

Risposte:


8

Il contenitore verrà chiuso senza alcun commento, a meno che non si aumenti il ​​livello di debug. Puoi usare qualcosa del genere --debuglevel=4.

Una volta fatto ciò, ricostruito e riavviato il contenitore dovresti ottenere qualcosa alla fine come:

Server exit (EOF on stdin)

E questo punta alla soluzione, cambia l' smbdinvocazione in:

exec ionice -c 3 smbd -FS < /dev/null

e il tuo contenitore non dovrebbe più uscire direttamente.

Non sono sicuro di cosa causi questa modifica incompatibile all'indietro, né del perché questo non sia stato testato rispetto alle voci dockerhub esistenti.

Ho avuto anche due dei miei container rotti durante l'aggiornamento a 1.11. e al downgrade a 1.10.3, si è imbattuto nel Cannot stop container .... Container does not exist: container destroyedbug temuto . Ho dovuto interrompere la finestra mobile, cancellare tutta la cronologia, quindi non posso davvero consigliarlo.


Questo mi ha aiutato a risolvere il problema ieri, senza dover effettuare il downgrade!
Giovanni,

1
Ho letto da qualche parte che l'arresto di Samba è in realtà una caratteristica. Prova a rilevare se il suo processo genitore è morto (EOF su stdin). La tua soluzione funziona perfettamente.
Martin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.