2013-07-21 5 views

risposta

7

Infatti, l'API remota non ha una modalità "scollegamento" poiché la modalità "Allega" è un endpoint aggiuntivo.

Se si desidera eseguire in modalità di scollegamento con l'API remota, è sufficiente creare e avviare il contenitore senza collegarsi ad esso.

Se il contenitore si spegne immediatamente, utilizzare docker logs <container id> per verificare la presenza di errori. Il problema potrebbe non avere nulla a che fare con detach.

+0

Ciao creack, apprezzo molto il tuo contributo. Ho provato questo, ma il contenitore si avvia e si ferma subito dopo. Quando uso il client di docker posso evitare che il container venga fermato aggiungendo l'opzione -t (tty). Apprezzo qualsiasi idea al riguardo. – imesh

+0

doh. ma sembra che questo non sia equivalente. usando la finestra mobile run -d il processo resterà aperto e verrà eseguito, ma utilizzando l'API/container/ID/start remoto verrà avviato il contenitore e terminato. – masi

1

Per quanto posso dire, l'equivalente dell'API remota dell'opzione CLI -i è "OpenStdin": true nella chiamata a /containers/create. Senza questo sembra che qualcosa che legge da stdin riceva EOT.

This è dove stdin è inizializzato (o non inizializzato) come un pipe per il contenitore, non l'ho rintracciato oltre quello.

5

E 'importante capire il comando "run finestra mobile" racchiude una serie di comandi da una prospettiva API:

  • immagine di tiro (se non disponibili in loco)
  • creare il contenitore
  • allegare al contenitore
  • inizia il contenitore

Mentre "finestra mobile run -d" è la stessa cosa come sopra bu t senza il passo "attach".

Pertanto, è necessario creare e quindi avviare il contenitore quando si utilizza l'API remota.

Se il contenitore si spegne immediatamente, utilizzare docker logs <container id> per verificare la presenza di errori. Il problema potrebbe non avere nulla a che fare con detach.

+2

Prima di creare il contenitore, l'immagine viene estratta se non è disponibile localmente. –

Problemi correlati