2016-06-28 19 views
6

Ho appena iniziato a usare Docker. Sono in grado di eseguire i miei server e comunicare tra loro.Cosa fa Docker Quickstart Terminal?

Quello che non capisco è: perché devo eseguire comandi Docker, come $ docker run somerepo/image dalla finestra aperta da Docker Quickstart Terminal. Eseguendolo da "normale" Windows restituisce $ docker run dockerinaction/hello_world docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?. See 'docker run --help'.

Capisco che su OS X e Windows, Docker deve avviare una macchina virtuale con Linux 2.6 (nel mio caso) e che tutti i contenitori vengono eseguiti all'interno di quella VM.

Ho pensato che la finestra mobile CLI si connettesse a un deamon mobile che gira all'interno di quella VM e quindi non capisco cosa succede nel terminale Quickstart.

+0

la mia ipotesi è che il terminale imposta semplicemente le variabili di ambiente ei percorsi necessari per eseguire la finestra mobile. Se si guarda, probabilmente si può trovare lo script di init e semplicemente trovarlo all'interno del terminale corrente per far funzionare tutto. – Doon

+0

Forse perché l'utente non si trova nel gruppo docker? Puoi scoprirlo digitando 'groups' nel terminale normale. Maggiori informazioni possono essere trovate qui: http://askubuntu.com/questions/477551/how-can-i-use-docker-without-sudo –

risposta

3

Non capisco cosa succede nel terminale Quickstart.

è possibile utilizzare un terminale normale, fornito da docker-machine env, e fare operazioni simili a osx/mpkg/quickstart.app/Contents/Resources/Scripts/start.sh:.

dockerm-machine start dev 
eval "$(docker-machine env dev)" 

(sostituire 'dev' con il nome della vostra macchina finestra mobile Per impostazione predefinita, esso prende il nome ... "default")

Una volta impostate le variabili di ambiente per il client Docker, è possibile eseguire il comando finestra mobile direttamente dalla shell.
Un terminale Quickstart imposta la stessa variabile per te.

0

È possibile vedere cosa fa guardando l'uscita del terminale. Nel mio caso è stato eseguito bash --login '/ Applicazioni/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh' tentativo di avviare la macchina virtuale. Una volta eseguito, utilizza l'equivalente di eval "$ (impostazione predefinita env docker-machine)" per impostare alcune variabili di ambiente in modo che il terminale sia pronto per accedere alla finestra mobile di Docker.

Se avete bisogno di maggiori informazioni date un'occhiata a quello script start.sh.