2016-01-18 27 views
6

Sto provando a eseguire un notebook jupyter in background senza stampare nulla sulla console. Ho trovato questa soluzione in un question per bash:Esegui Jupyter Notebook in Background su Docker

jupyter notebook &> /dev/null &

Ma io sono in esecuzione jupyter in un contenitore finestra mobile e voglio che per avviare in background tramite CMD. Come posso fare lo stesso in sh?

+0

Finora non conosco un modo e i documenti non vedono per indicare che è possibile per impostazione predefinita. La soluzione dovrebbe funzionare, tuttavia, aggiungendo questa linea sulla linea CMD in Docker. – Ivan

+0

grazie a @Ivan il problema è che la finestra mobile esegue i comandi CMD in sh, non in bash e non sembra avere lo stesso effetto in sh. – MrLoh

risposta

4

ho preso a lavorare con il programma di installazione da:
https://github.com/jupyter/docker-stacks/tree/master/minimal-notebook

il trucco era quello di installare tini e inserire il seguente codice in uno script start-notebook.sh:

#!/bin/bash 
exec jupyter notebook &> /dev/null & 

questo è di aggiunto al percorso con:
COPY start-notebook.sh /usr/local/bin/ e
RUN chmod +x /usr/local/bin/start-notebook.sh

Poi ho potuto impostare CMD ["start-notebook.sh"] per avviare il contenitore con jupyter in esecuzione in background all'avvio.

+0

Puoi spiegare cosa fa '&>/dev/null &' do? specialmente i due simboli '' – Nick

+0

Assicura che i log non vengano stampati su 'stdout' ma reindirizzati in' dev/null' e che il terminale non venga bloccato con Jupiter ma che jupyter venga appena attivato come processo in background. Provalo. – MrLoh

+0

Oh, il '&>' è una magia. Grazie! – Nick

0

Si può fare, l'esecuzione del comando di seguito

jupyter notebook --allow-root &> /dev/null & 

Si potrebbe vedere l'avvertimento che jupyter comando ha bisogno --allow-root opzione se si esegue il comando jupyter notebookcome una radice in un contenitore finestra mobile.

Problemi correlati